jQuery ajax()函数忽略了Firefox中的dataType参数

时间:2013-07-02 16:38:56

标签: javascript ajax jquery firefox

我正在尝试使用jQuery.ajax()来获取一些html,但Firefox正在给我一个“文件元素之后的垃圾”错误消息。正如herehere所解释的那样,问题似乎是Firefox期望来​​自服务器的XML,并且当它没有正确解析时会抛出错误。这是我的ajax代码:

jQuery.ajax({
    url: name,
    dataType: "html",
    success: function(result) {
        console.log(result);
    },
    error: function (jqXHR, textStatus, errorThrown) {
        console.log(errorThrown);
    }
});

服务器返回带有这些响应标头的html:

Accept-Ranges   bytes
Content-Length  2957
Last-Modified   Tue, 02 Jul 2013 16:16:59 GMT

请注意,没有内容类型标头。我确信添加一个可以解决问题,但这不是一个选择。

真正的问题是Firefox似乎忽略了ajax调用中的dataType:参数。我也尝试添加contentType:并接受:参数,但它没有帮助。

我在这里缺少什么?如何强制Firefox以纯文本形式处理响应?

2 个答案:

答案 0 :(得分:0)

HTML响应如何显示?如果它还没有,我会尝试确保响应以第一行的doctype声明开头,如<!doctype html>中所示。

运气好的话,这可能会将Firefox的内容类型检测带到正确的轨道上。

答案 1 :(得分:-1)

好的,您可以尝试使用"HTML"代替"html"