过去似乎人们已经遇到了接受标题的问题,但我不知道我的问题是否相关.使用jQuery 1.4.2,我无法使用get
JSON()获取
JSON.我可以在Firebug中看到请求/响应,并且看起来问题的根源在于相关资源根据Accept标题返回不同的结果.即使文档说它应该被设置,在Firebug它显示为“/” – 显然,我想要“application / json”.这是一个已知的错误吗?我应该设置一些我不知道的旗帜?
ETA:请求是跨站点,如果重要,但我传递回调=?查询参数,所以JQuery是(成功!)将其视为JSONP.我在这个特定情况下打电话给我的服务支持接受覆盖查询参数(& accept = application / json),所以我得到它手动工作,但我仍然认为头文件修复是奇怪的,希望我会可以修复它,所以我不要再遇到这样一个不同的服务,可能不是那么宽容.我没有一个简单的方法从我的开发环境复制/粘贴代码,但这里是要点:
$.getJSON(baseURL + "?item=" + itemNum + "&callback=?",function(data){ console.log(data); }
正如你所看到的,这并不完全复杂,应该(我99%确定…)导致XHR与应用程序/ json的Accept标头一起发送.就像我说的那样,没有发生,每个Firebug的网络控制台.如果重要,这是在Firefox 3.6.8.
ETA再次:对于任何人仍然阅读,是的,它仍在发生,不,我不知道为什么.就像我所说的,简单的getJSON()调用,真正的基本语法,跨站点,被视为JSONP,因为它包含一个回调查询参数.还是开放的建议!