2008-12-10 79 views
4

我有一个Web应用程序,它使用当前版本的JQuery,需要从REST Web服务中获取一些JSON对象。我使用以下方式调用$ .getJSON:getJSON调用工作在IE 7但不是Firefox 3

$ .getJSON(“http://localhost:17245/Service.svc/?format=json”,function(data){alert(data.id);});

这个调用在IE7中正常工作,我可以在提琴手中调用没有问题的服务。我已经在Firebug中介绍了这一点,但是当Firefox进入这一行时,JavaScript执行似乎“死亡”,没有错误,没有回叫,也没有任何东西。

我也使用了$ .ajax并且有相同的问题;在IE中工作正常,在Firefox中没有任何问题。

任何人有任何想法?我对JQuery非常新,所以请温和。

谢谢, 詹姆斯

+0

url是如何“http:// localhost:17245/Service.svc /?format = json”restfull? – redsquare 2008-12-10 22:56:42

+0

你可以显示实际的json重新调整,我可以在本地将这个虚拟的 – redsquare 2008-12-10 23:24:08

+0

你也看到请求被发送在控制台firebug winow - 或净选项卡? – redsquare 2008-12-10 23:24:39

回答

4

我有一个类似的问题。签名$ .getJSON是(url,data,callback),我也没有传递数据参数。试试这个:

$.getJSON("http://localhost:17245/Service.svc/?format=json", {}, function(data) {alert(data.id);}); 
0

我遇到了问题使用Web服务从jQuery的一段时间,直到我发现ajaxdotnet插件。

0

确保您处理的是ajaxError,否则如果服务器返回错误,您将永远无法看到答复。正如palehorse所说,你调用getJSON似乎缺少数据参数。当我不需要它时,我通常会通过null。

0

如果您无法使JQuery正常工作,请尝试使用Fork。看看Fork.Ajax和Fork.Json。或者使用Doug Crockford的json2.js来解析JSON,使用任何你喜欢的XMLHttpRequest包装器。我回头看了看各种Javascript库,而且大多数情况下,他们对我来说太过臃肿和怪异;你必须学习图书馆的所有小怪癖。

0

我只是碰到了这个问题,并发现,根本原因是在天色返回的JSON尾随逗号。

0

由于Firebug扩展中的错误,我看到类似的问题。如果已安装,请尝试禁用它。

1

不知道是否有人曾解决,但它看起来像在Firefox跨站点脚本的限制。它将开发ASP.NET服务器(localhost:0000)上的端口号视为不同的域。尝试在不使用端口号的IIS上承载服务和Web应用程序。

相关问题