如何在远程网站上进行$ .get?

时间:2010-01-13 15:28:26

标签: jquery ajax twitter get

我正在尝试通过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");
                });

......仍然没有,我甚至没有得到警报。

5 个答案:

答案 0 :(得分:4)

其他服务器上的请求需要JSONP。尝试将&callback=?添加到您网址的末尾。

请参阅手册:http://docs.jquery.com/Ajax/jQuery.getJSON如果您知道要重新获得JSON,您可能应该使用此方法。

答案 1 :(得分:2)

答案 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

(它使用jsonp和jquery)

示例的另一个链接

http://bloggingabout.net/blogs/adelkhalil/archive/2009/08/14/cross-domain-jsonp-with-jquery-call-step-by-step-guide.aspx

答案 4 :(得分:0)

根据您的需要,您还可以使用Flash客户端代理来传递您的请求。 Flash沙箱对跨域请求的限制较少。

例如,请参阅http://flxhr.flensed.com/