我正在尝试使用jQuery.ajax()来获取一些html,但Firefox正在给我一个“文件元素之后的垃圾”错误消息。正如here和here所解释的那样,问题似乎是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以纯文本形式处理响应?
答案 0 :(得分:0)
HTML响应如何显示?如果它还没有,我会尝试确保响应以第一行的doctype声明开头,如<!doctype html>
中所示。
运气好的话,这可能会将Firefox的内容类型检测带到正确的轨道上。
答案 1 :(得分:-1)
好的,您可以尝试使用"HTML"
代替"html"
。