如何解决从localhost或file://访问JSON服务
您遇到了同源策略限制- 您的脚本无法访问除加载域以外的任何其他域。
您的代码看起来像这样(注意callback=?
URL的添加):
$.getJSON("http://search.twitter.com/search.json?q=somequery&result_type=recent&count=9&callback=?",
{},
function (data) {
$.each(data.items, doSomething2);
});
解决方法
我正在制作一个打算在PC上本地运行的html页面,最好不要在本地服务器上运行(file://)。我还使用jQuery使操作/ AJAX更加容易。
我正在尝试从twitter API加载2个结果,但出现错误。代码如下:
$.getJSON("http://api.twitter.com/1/statuses/user_timeline.json?screen_name=someuser&count=9",{},function (data) {
$.each(data.items,doSomething1);
});
$.getJSON("http://search.twitter.com/search.json?q=somequery&result_type=recent&count=9",doSomething2);
});
我也尝试了以下代码,但没有改变结果。
$.getJSON("http://api.twitter.com/1/statuses/user_timeline.json",{
count: "9",screen_name: "someuser"
},function(data) {
$.each(data.items,updateAWTweets);
});
$.getJSON("http://search.twitter.com/search.json",{
q: "somequery",result_type: "recent",count: "9"
},updateHashTagTweets);
});
我在chrome中(在本地服务器上)收到以下错误:
XMLHttpRequest cannot load http://search.twitter.com/search.json?q=somequery&result_type=recent&count=9. Origin http://localhost:62153 is not allowed by Access-Control-Allow-Origin.
或(带有file://链接)
XMLHttpRequest cannot load http://api.twitter.com/1/statuses/user_timeline.json?screen_name=someuser&count=9. Origin null is not allowed by Access-Control-Allow-Origin.
有谁知道我该如何解决?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。