我正在尝试通过Ajax加载Twitter帐户的最后一个帖子。我有网址,是:
http://twitter.com/statuses/user_timeline/myuser.json?count=1
这有效:
$.get("test.php", function(data){
alert("Data Loaded: " + data);
});
如果我在Firebug中监控控制台,这甚至不会发出请求:
$.get("http://twitter.com/statuses/user_timeline/myuser.json?count=1", function(data){
alert("Data Loaded: " + data);
});
我和.load,。post,.ajax ......有同样的问题。
我怎么能这样做?
编辑:
我尝试使用getJSON:
$.getJSON("http://twitter.com/statuses/user_timeline/user.json?count=1",
function(data){
alert("here");
});
......仍然没有,我甚至没有得到警报。
答案 0 :(得分:4)
其他服务器上的请求需要JSONP。尝试将&callback=?
添加到您网址的末尾。
请参阅手册:http://docs.jquery.com/Ajax/jQuery.getJSON如果您知道要重新获得JSON,您可能应该使用此方法。
答案 1 :(得分:2)
可以使用JQuery插件和YQL:
http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/
答案 2 :(得分:2)
jQuery get call的正确语法如下:
$.get("http://twitter.com/statuses/user_timeline/myuser.json", {count: "1"},
function(data) {
alert("Data Loaded: " + data);
});
您必须将queristring参数作为params名称/值集合(第二个参数)传递。但是你仍然会遇到其他答案中提到的问题。
答案 3 :(得分:1)
其安全问题 在ajax中调用另一个url
你需要使用jsonp:
(它使用jsonp和jquery)
示例的另一个链接
答案 4 :(得分:0)
根据您的需要,您还可以使用Flash客户端代理来传递您的请求。 Flash沙箱对跨域请求的限制较少。
例如,请参阅http://flxhr.flensed.com/。