我有一段可捕获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/ ”中找到完全相同的文件的副本。
任何帮助将不胜感激。
谢谢!
从文档中:
由于浏览器安全性的限制,大多数“ Ajax”请求都受相同的原始策略约束; 该请求无法成功从其他域,子域或协议检索数据。 脚本和JSONP请求不受相同的原始策略限制。
由于浏览器安全性的限制,大多数“ Ajax”请求都受相同的原始策略约束; 该请求无法成功从其他域,子域或协议检索数据。
脚本和JSONP请求不受相同的原始策略限制。
您将需要使用JSONP来超越同源策略。jQuery可以使其无缝(请参见上述文档页面的其余部分)。