-1

我正在尝试从我的服务器加载一个 test.json 文件。尝试加载该文件的 index.html 位于另一台服务器上(实际上它是一个本地文件)。

$url = 'test.json';    
$.getJSON($url, function(data) {
    for (var i = 0, len = data.length; i < len; i++) {
             //some code
    }
});

完美运行。但是当我设置$url = 'http://simonappelt.de/test.json'它没有做任何事情。我还尝试了 get() 函数从我的服务器获取文件,但它们接缝什么都不加载。

谢谢西蒙

4

3 回答 3

2

通常,您只能$.getJSON在与您的脚本相同的域和协议上发出 AJAX 请求(就是这样)。如果您希望进行跨域请求,则必须使用$.getJSON 的 JSON-P 支持,并将数据包装在由查询字符串参数确定的回调调用服务器端?callback

于 2013-08-12T15:22:35.040 回答
1

来自jQuery $.getJSON 文档....

由于浏览器安全限制,大部分“Ajax”请求都受同源策略的约束;请求无法从不同的域、子域或协议成功检索数据。

于 2013-08-12T15:22:52.147 回答
1

Ajax 请求只能向与当前文档相同的域发出。ajax url 应该是本地的。可以在http://www.webreference.com/programming/javascript/understanding-ajax/index.html阅读更多相关信息。

于 2013-08-12T15:23:01.200 回答