2010-06-14 72 views
1

我有一块JavaScript抓取JSON数据。当在本地执行时,一切似乎都很好。但是,当我尝试从其他站点访问它时,它不起作用。Jquery getJSON不工作跨站点

这是脚本。

$(function(){ 
    var aT = new AjaxTest(); 
    aT.getJson(); 
}); 

var AjaxTest = function() 
{ 
    this.ajaxUrl = "http://mydeveloperpage.com/sandbox/ajax_json_test/client_reciever.php"; 

    this.getJson = function(){ 
     $.getJSON(this.ajaxUrl, function(data){ 
      $.each(data, function(i, piece){ 
       alert(piece); 
      }); 
     }); 
    } 
} 

您可以在“http://mydeveloperpage.com/sandbox/ajax_json_test/”找到完全相同的文件的副本。

任何帮助将不胜感激。

谢谢!

回答

3

documentation

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

  • 脚本和JSONP请求不受相同的源策略限制。

你会需要使用JSONP闯过同源策略。 jQuery可以使这种无缝(见上述文档页面的其余部分)。

+0

嘿谢谢!这正是我需要的。 – 2010-06-14 16:34:09