如何正确使用$ .getJSON()?

时间:2011-08-12 12:56:33

标签: jquery json httprequest getjson

我在localhost上遇到$.getJSON()的奇怪问题。我的测试代码如下:

$(document).ready(function(){
        var url = "http://script.mydomain.com/location/newid"
        var url2 = "http://localhost/cms/location/newid"

          $.getJSON(url2, function(id) {
                alert(id);
          });
});

对于url2,它工作得很完美但是对于url它不起作用。任何人都可以提供一些解决这个问题的提示吗?如果有人想知道,这些网址会返回json(例如:“34”)。

编辑[求助]:

如果将来有人使用$.getJSON,请记住您不能称之为“外星人”域名。

当我在script.mydomain.com域下执行开销脚本时,一切正常!

3 个答案:

答案 0 :(得分:6)

AJAX请求受跨域策略的限制。基本上,如果他们没有访问原始站点所在的服务器,则无法执行ajax请求。它稍微复杂一点,但我认为情况就是这样。

答案 1 :(得分:1)

您受到浏览器安全性的限制,无法从您自己的网站获取代码(jquery使用XMLHttpRequest获取getJSON)。要绕过它,您需要使用jsonp(jquery添加脚本标记)或为您的文档创建并附加脚本标记。

答案 2 :(得分:1)

您可能遇到的问题是您尝试在浏览器中运行ajax-request,从本地主机到域cw.uppercut.pl。

这不是图书馆的问题。