代码之家  ›  专栏  ›  技术社区  ›  James Bender

getjson调用在IE7上工作,而不是在firefox 3上工作

  •  4
  • James Bender  · 技术社区  · 16 年前

    我有一个Web应用程序,它使用当前版本的jquery,需要从RESTWeb服务中获取一些JSON对象。我正在使用以下对$.getjson的调用:

    G.G.J. http://localhost:17245/Service.svc/?format=json “,函数(数据)警报(data.id););

    这个电话在IE7中工作正常,我可以打电话给服务部,而不会给小提琴手带来任何问题。我已经在Firebug中完成了这一步,但是当Firefox到达这一行时,JavaScript的执行似乎“死”了,没有错误,没有回电,没有任何问题。

    我还使用了$.Ajax,有同样的问题;在IE中工作正常,在Firefox中没有。

    有人有什么想法吗?我对jquery很陌生,所以请温柔一点。

    谢谢, 詹姆斯

    7 回复  |  直到 15 年前
        1
  •  4
  •   palehorse    16 年前

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

    $.getJSON("http://localhost:17245/Service.svc/?format=json", {}, function(data) {alert(data.id);});
    
        2
  •  1
  •   vwemil    15 年前

    不确定是否解决了这个问题,但它看起来像是Firefox中的跨站点脚本限制。它将开发ASP.NET服务器(localhost:0000)上的端口号视为不同的域。尝试在不使用端口号的IIS上同时托管:服务和Web应用程序。

        3
  •  0
  •   Ariel    16 年前

    我在使用jquery中的Web服务时遇到了一些问题,直到我发现 ajaxdotnet 插件。

        4
  •  0
  •   Craig Stuntz    16 年前

    确保你在处理 ajaxError 否则,如果服务器返回错误,您将永远看不到回复。

    正如palehorse所说,您对getjson的调用似乎缺少数据参数。当我不需要它的时候,我通常会忽略它。

        5
  •  0
  •   Jason S    16 年前

    如果无法让jquery工作,请尝试 Fork . 看看fork.ajax和fork.json。或者用道格·克罗克福德的 json2.js 用于解析JSON,使用您喜欢的任何XMLHttpRequest包装器。我回头看了看各种各样的javascript库,在大多数情况下,它们对我来说都太膨胀和奇怪了;你必须学习这些库的所有小特性。

        6
  •  0
  •   Ted Naleid    15 年前

    我刚刚遇到这个问题,发现根本原因是JSON中返回的一个尾随逗号。

        7
  •  0
  •   CMayor    15 年前

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