适用于Firefox的jQuery getJSON响应null,适用于IE

时间:2010-03-17 23:48:56

标签: jquery ajax json internet-explorer firefox

$.getJSON(service + "/GetJobTags", 
    { tag: "a" }, 
    function(json) {
        $.each(json, function(i,val) { 
            alert(val.Title); 
        }); 
     });

它叫:

http://127.0.0.1:20087/ClientService.svc/GetJobTags?tag=a

这可能是值得注意的,该服务正在客户端应用程序的不同端口上运行,该端口位于:

http://127.0.0.1:32017/index.htm

Firefox说HTTP 200 OK,但响应数据为空(在Firebug中以红色突出显示)。在IE中它工作正常,服务器返回json。

这是权限问题吗?我需要使用JSONP吗?

1 个答案:

答案 0 :(得分:6)

使用不同的端口肯定违反了Firefox中的同源策略:来源Here

也许document.domain有帮助,我不确定:我找不到任何确认它可以帮助跨越港口的内容。

更新:this SO question的反馈表明,JSONP或使用代理服务器端脚本确实是唯一可行的方法。