jquery ajax对xml资源的请求在Firefox中产生“格式不正确”的错误

时间:2015-03-23 14:37:42

标签: jquery ajax xml firefox

我知道这已被多次询问,但那里给出的答案对我不起作用。

我想我正在做一个非常常见的获取xml资源的请求:

$(document).ready(function() {
    $.ajax({
      type: "GET",
      url: "data.xml",
      dataType: "xml",
      success: function(xml) {
        $(xml).find("main").each(function() {
          alert($(this).attr("val"));
        });
      }
    });

可以找到完整文件here和xml资源here

当我使用Firefox 36.0.4访问此内容时,我会被一个" hello world"按预期警告,但javascript控制台列出了错误:

  

http://esel7353.org/:无法运行脚本,因为脚本在内部被阻止。

     

格式不正确:1:76

在这里提出的许多问题中,响应中的内容类型标题是不准确的,但在我的情况下,服务器告诉firefox,data.xml是application / xml。

此外,mimeType选项无效。

我还制作了一个干净的FF配置文件,以确保插件不会导致这种情况,但错误消息仍然存在。

1 个答案:

答案 0 :(得分:0)

我在another question写了这个 - 但由于你的问题也没有答案,我也会在这里发布。

我不能肯定地说它会解决你的问题,但我在firefox中遇到了“格式不正确”的类似问题。原来在jQuery 1.11.2和1.11.3中存在一个错误 - https://github.com/jquery/jquery/issues/1969 - 它是固定在上游的。

如果您在服务器上托管jquery,这是一个相对较小的更改 - 请参阅github commit

on jquery.1.11.3.js line cca 1197(in QSA/matchesSelector section):

 -              "<select id='" + expando + "-\f]' msallowcapture=''>" +
 +              "<select id='" + expando + "-\r\\' msallowcapture=''>" +

希望很快会有新的发布。