JQuery get()或getJSON仅适用于本地文件

时间:2013-08-12 15:17:50

标签: jquery get getjson

我想从我的服务器加载一个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()函数从我的服务器获取文件,但是它们接缝以不加载任何内容。

谢谢Simon

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

来自jQuery $.getJSON documentation ....

  

由于浏览器安全限制,大多数“Ajax”请求都是主题   同源政策;请求无法成功检索   来自不同域,子域或协议的数据。

答案 2 :(得分:1)

Ajax请求只能与当前文档在同一个域中。 ajax网址应该是本地网址。可以在http://www.webreference.com/programming/javascript/understanding-ajax/index.html了解更多相关信息。