0

我刚开始学习jQuery。我遇到了这个“从其他网页抓取内容”。我正在浏览其中一个站点中的代码以了解如何实现它,这是其中的一部分:

$(document).ready(function(){
    $('#list').load("http://www.narutoget.com ul", function(responseText){
        $('#otherHtml').text(responseText);
    });
});

我无法从页面(即 narutoget.com)获取内容。有人可以帮我解决如何实现它吗?我想知道这样做是否合法。

4

2 回答 2

0

您可能被禁止使用跨站点来源策略。JSON-P 是解决这个问题的一种方法,JQuery Cross-Domain .load() (self-constructing widget)

你有错误吗?查看 NET 下的 Web 检查器,查看该请求的状态代码是什么。如果没有任何错误或跨域限制,我看不出问题出在哪里。你有没有收到任何文字?

于 2013-03-21T08:03:13.393 回答
0

由于您没有维护另一个站点,因此相同的来源策略会阻止它,除非另一个站点通过包含良好的CORS 标头明确允许它,并且唯一的解决方案是在服务器端进行,您可以在其中查询随心所欲的服务器。

如果您还维护另一个站点,那么您只需放置好的 CORS 标头即可让您的第一个站点查询它。

这是一个关于为各种服务器端技术启用跨源请求的好教程:enable-cors

完成后,您只需查询服务器并分析页面:

$.get("http://www.narutoget.com", function(html) {
    var ul = $('ul', html).val();
    $('#otherHtml').text(ul);
});
于 2013-03-21T07:50:31.473 回答