Jquery getJSON不工作跨站点

时间:2010-06-14 16:17:10

标签: jquery ajax getjson

我有一段抓取JSON数据的javascript。在本地执行时,一切似乎都运行良好。但是,当我尝试从其他站点访问它时,它不起作用。

这是剧本。

$(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/”找到完全相同文件的副本。

非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:3)

来自documentation

  
      
  • 由于浏览器安全限制,大多数“Ajax”请求都遵循相同的原始策略; 请求无法成功检索来自其他域,子域或协议的数据。

  •   
  • 脚本和JSONP请求不受相同的原始政策限制。

  •   

您需要使用JSONP来超越同源策略。 jQuery可以实现这一点(参见上述文档页面的其余部分)。