【问题标题】:jQuery.getJSON works in Safari, not FirefoxjQuery.getJSON 适用于 Safari,而不是 Firefox
【发布时间】:2011-05-04 17:39:40
【问题描述】:

这个 jQuery.getJSON 在 Safari 中适用于我,但不适用于 FF 或 Chrome。在 Safari 中,我收到带有 json 名称/值对的警报。在 FF/Chrome 中。我收到 3 个错误警报(全部返回空字符串)。有什么想法我在这里做错了吗?

<!-- language: javascript -->

$.ajaxSetup({"error":function(XMLHttpRequest,textStatus, errorThrown) {   
    alert("text Status: " + textStatus);
    alert("error thrown: " + errorThrown);
    alert("response:" + XMLHttpRequest.responseText);
}});

$.getJSON("http://example.com/webservice",
  {
  },
  function(data) {
    for(var key in data){
             var attrName = key;
             var attrValue = data[key];
        alert('name='+ attrName + ' value=' +attrValue);
      }
  });

【问题讨论】:

  • 您是否通过JSONLint 运行您的 JSON 以验证它是否有效?
  • 提示:在给出 URL 示例时,您可以使用“example.com”。它是为此目的而保留的。
  • 是的,我已经使用 json lint 验证了 json 响应。它通过了
  • 这个页面也在http://66.179.18.179:5000,对吧?您没有被同源策略阻止?
  • 我已将此页面放在该服务器上,并尝试在本地进行测试。结果相同。

标签: jquery ajax json


【解决方案1】:

返回的是什么 MIME 类型?此处描述了一个类似的问题,并提供了解决方法:jQuery .getJSON Firefox 3 Syntax Error Undefined

【讨论】:

  • 服务返回 text/html 的内容类型
  • @user738497:它应该返回application/json的内容类型
  • 内容类型现在设置为 application/json。行为没有变化
  • 尝试在 Firefox 中使用 FireBug,并检查实际响应。它是格式良好的 JSON 吗?
  • 是的,我用 JsonLint 反复测试过。它是有效的 JSON。该死的神秘。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-08
  • 2017-11-25
  • 2013-06-30
  • 1970-01-01
  • 2019-01-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多