Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 不使用jquery加载文本文件_Ajax_Firefox - Fatal编程技术网

Ajax 不使用jquery加载文本文件

Ajax 不使用jquery加载文本文件,ajax,firefox,Ajax,Firefox,我需要用Ajax加载文本文件的内容——我不能使用像JQuery这样的库 一切正常,我收到文件,可以处理文件内容。-除了Firefox控制台中的javascript警告外:“格式不正确” Firefox似乎认为我请求了XML内容,但我没有。因此Firefox启动了它的XML解析器,并识别出它的格式不好,控制台中的警告很明显 下面是我正在使用的Ajax代码: function ajax(url, postData, callback) { var req = new XMLHttpReque

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

一切正常,我收到文件,可以处理文件内容。-除了Firefox控制台中的javascript警告外:
“格式不正确”

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


(注意Chrome没有打印警告)

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

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