加载文本文件没有jquery

时间:2013-12-20 14:35:51

标签: ajax firefox

我需要使用Ajax加载文本文件的内容 - 我不能使用像JQuery这样的库。

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

似乎Firefox认为我要求XML内容,我没有。因此,Firefox启动了它的XML-Parser,并认识到它的格式不正确,并且在控制台中显示警告。

这里是Ajax-Code I使用:

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编码),并且它不应该解析它?

(请注意,Chrome不会打印警告)

1 个答案:

答案 0 :(得分:1)

使用overrideMimeType让XMLHttpRequest知道它不需要将文件解析为XML文档

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