【问题标题】:How to do a $.get on a remote website?如何在远程网站上执行 $.get?
【发布时间】:2010-01-13 15:28:26
【问题描述】:

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

...仍然没有,我什至没有收到警报。

【问题讨论】:

    标签: jquery ajax twitter get


    【解决方案1】:

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

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

    【讨论】:

    • JSONP 绝对是使用 jQuery 的最佳和最简单的方法。毫无疑问,它的效果很好(&callback=? 是必要的。)
    • 天哪,我忘记了 &callback=? ,看起来它现在正在工作!我仍然需要测试它是否真的返回了我想要的对象,但它看起来不错
    【解决方案2】:

    【讨论】:

    • 好得令人难以置信,它不起作用。当我尝试复制和粘贴示例时,我得到 data.results[0] is undefined [Break on this error] responseText: data.results[0]\n
    【解决方案3】:

    jQuery get 调用的正确语法是这样的:

    $.get("http://twitter.com/statuses/user_timeline/myuser.json", {count: "1"},           
     function(data) {
      alert("Data Loaded: " + data);
    });
    

    您必须将查询字符串参数作为参数名称/值集合(第二个参数)传递。但是您仍然会遇到其他答案中提到的问题。

    【讨论】:

      【解决方案4】:

      它的安全问题 在 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

      【讨论】:

        【解决方案5】:

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

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

        【讨论】:

        • 感谢您的回答,但这对我来说听起来有点矫枉过正。我只想显示一个帐户的最后一条推文
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-10
        • 1970-01-01
        • 1970-01-01
        • 2011-01-21
        相关资源
        最近更新 更多