2013-12-20 73 views
0

我需要用Ajax加载文本文件的内容 - 而且我不能像JQuery一样使用库。加载没有jQuery的文本文件

一切工作正常,我收到文件,并可以使用其内容。 - 除了Firefox-Console中的javascript警告:"not well formed"

看来Firefox认为我请求了XML内容,而我并没有这样做。所以Firefox启动它的XML解析器,并认识到它的格式不正确,在控制台中出现警告。

这里是Ajax的代码我使用:

function ajax(url, postData, callback) { 
    var req = new XMLHttpRequest(); 
    req.open("GET",url,true); 
    if (postData){ 
     req.setRequestHeader('Content-type','application/x-www-form-urlencoded'); 
    } 
    req.onreadystatechange = function() { 
     if (req.readyState != 4) return; 
     if (req.status != 200 && req.status != 304) { 
      return; 
     } 
     callback(req.response); 
    } 
    if (req.readyState == 4) return; 
    req.send(postData); 
} 

我有什么改变,告诉Firefox的,我只是想要一个简单的文本文件(UTF8编码),并且它不应该解析它?

(请注意,浏览器不打印警告)

回答

1

使用overrideMimeType让XMLHttpRequest的知道,它并不需要将文件解析为一个XML文档

req.overrideMimeType("text/plain; charset=utf-8")