Javascript 使用jquery进行刮取和操作

Javascript 使用jquery进行刮取和操作,javascript,jquery,ajax,Javascript,Jquery,Ajax,我发出一个ajax请求来获取一个有效的外部页面——但是我无法操作页面内容,我想获取一些h2元素,并将它们呈现给页面上的div $.ajax({ url: 'www.example.com', type: 'GET', dataType: 'jsonp', success: function(data) { var mycontent = $(data).filter("h2"); } }); 我收到一个错误,因为我的响应包含html/头标

我发出一个ajax请求来获取一个有效的外部页面——但是我无法操作页面内容,我想获取一些
h2
元素,并将它们呈现给页面上的
div

$.ajax({
    url: 'www.example.com',
    type: 'GET',
    dataType: 'jsonp',
    success: function(data) {
        var mycontent = $(data).filter("h2");
    }
});

我收到一个错误,因为我的响应包含html/头标记。

要获取另一个域或端口提供的外部文件,并在现代浏览器中处理其内容,您必须

  • 使用

  • 设置

在这两种情况下,这意味着您可以访问服务器


顺便说一句,正如您所尝试的那样,您不能执行jsonp请求并希望在成功函数中提供已应答的内容:服务器通过应答
functionName(someJson)

直接调用您的javascript函数。AJAX旨在处理对页面(脚本)的请求以及一些数据;脚本计算数据并返回响应

这与普通网页的内容无关,除非服务器有特定的服务来处理网页的HTML。
换句话说,这种方式通常不可能进行刮取。

或者,为数据设置本地“代理”,这可以在不访问远程资源的情况下完成。如果“本地”是指服务器端,则可以,有时也可以使用。但这并不是真正获得由另一个域提供的资源。如果没有对服务器的访问或某种代理脚本,这是不可能的。