我有一个Web应用程序,它使用当前版本的JQuery,需要从REST Web服务获取一些JSON对象。我正在使用以下调用$ .getJSON:
$。getJSON(“http://localhost:17245/Service.svc/?format=json”,function(data){alert(data.id);});
此调用在IE7中正常工作,我可以在Fiddler中调用该服务没有问题。我已经在Firebug中逐步完成了这个,但是当Firefox进入这一行时,javascript执行似乎“死”,没有错误,没有回调,没有任何东西。
我还使用了$ .ajax并遇到了同样的问题;在IE中工作正常,在Firefox中没有。
有人有什么想法吗?我对JQuery很新,所以请保持温和。
谢谢, 詹姆斯
答案 0 :(得分:4)
我有类似的问题。签名$ .getJSON是(url,data,callback),我也没有传递数据参数。试试这个:
$.getJSON("http://localhost:17245/Service.svc/?format=json", {}, function(data) {alert(data.id);});
答案 1 :(得分:1)
不确定它是否曾被解决,但它看起来像Firefox中的跨站点脚本限制。它将开发ASP.NET服务器(localhost:0000)上的端口号视为不同的域。尝试在不使用端口号的IIS上托管服务和Web应用程序。
答案 2 :(得分:0)
我在使用jQuery的web服务时遇到了一段时间的问题,直到找到了ajaxdotnet插件。
答案 3 :(得分:0)
确保您正在处理ajaxError,否则如果服务器返回错误,您将永远不会看到回复。
你对getJSON的调用似乎缺少数据论证,正如苍白的说法。当我不需要时,我通常会为此传递null。
答案 4 :(得分:0)
如果您无法使JQuery工作,请尝试Fork。看看Fork.Ajax和Fork.Json。或者使用Doug Crockford的json2.js解析JSON,使用您喜欢的任何XMLHttpRequest包装器。我回过头来看了几个Javascript库,大部分时间它们对我来说太过臃肿和奇怪;你必须学习图书馆的所有小怪癖。
答案 5 :(得分:0)
我刚遇到这个问题,发现根本原因是JSON中的尾随逗号正在返回。
答案 6 :(得分:0)
由于Firebug扩展中的错误,我看到了类似的问题。如果安装了它,请尝试禁用它。