【问题标题】:Jquery.get() not returning any dataJquery.get() 不返回任何数据
【发布时间】:2010-03-13 14:34:42
【问题描述】:

您好,我正在尝试抓取其他人的网页(为了善良而不是邪恶)。我目前正在尝试在浏览器中使用 javascript/jquery 来执行此操作。我发现 jquery.get() 成功回调函数没有返回任何数据。

我的代码。

$.get('http://www.google.co.uk/', 
    function (data, textStatus, XMLHttpRequest){ 
        alert("status " + textStatus); 
        alert('data:' + data);
        window.data=data;
        window.textStatus=textStatus;
        window.httpReq = XMLHttpRequest});

在我看来,这应该只是简单地在 google 上将数据存储在 window.data 中,我们都很好。发生的情况是我们得到 textStatus == success 和 data == ""。 XMLHttpRequest 的状态为 4(成功)。

我查看了使用透明代理 (Charles) 的网络流量,一切看起来都在那里找到 http 状态 200 大量数据正在返回。

我只是从 Firefox 的 Firebug 控制台运行它。

有什么想法吗?

【问题讨论】:

    标签: jquery ajax get


    【解决方案1】:

    这将属于跨域(除非您为 google 工作:)),您将无法在客户端进行操作,您可以编写服务器端代理,在另一篇文章中有人提到 JSONP 作为一种可能性,但我没有没用过所以不推荐。

    【讨论】:

    • 确实,服务器端是做这些事情的方式。您可以使用 JSONP,但 IMO 它最适合做 API 的东西(例如,使用 twitter API),而不是用于抓取整个页面......真的,在我看来,抓取 OP 需要更容易无论如何在服务器端。 +1
    猜你喜欢
    • 1970-01-01
    • 2017-11-23
    • 2021-12-13
    • 2016-12-06
    • 2011-04-04
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多