微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用JQuery的ajax抓取网页

如何解决使用JQuery的ajax抓取网页

| 我只需要从特定的(跨域)请求中获取\'html \'。 我正在使用传递ѭ0J的JQuery.ajax()函数,以便JQuery生成
script
标记并触发请求。 这是代码
            var url=\"http://www.google.com/callback=?\";
            $.ajax({
                type: \'GET\',url: url,dataType: \'json\',success: function(data) {$(\"#out\").append(\"success \"+data); },error: function(data) {$(\"#out\").append(\"failure \"+data); },complete: function(data) {$(\"#out\").append(\"complete \"+data); },data: {},async: false
            });
现在,奇怪的是,使用Firebug,我确实看到了生成的脚本标记和来自远程服务器的响应,但是没有调用我的回调。 如何获取
ajax()
调用返回的html?首先我使用的是错误功能吗?     

解决方法

        不会调用该回调函数,因为返回的文档不是包含对该回调函数进行调用的JavaScript应用程序。 JSON-P通过运行第三方JS来工作,该第三方JS会在您的页面上调用一个函数。 您无法使用客户端代码从其他来源获取未表示为JavaScript的内容。 如果要获取此类内容,则需要通过服务器进行代理。一种来自同一来源(这样您就可以直接获取内容),也可以将其转换为JSON-P。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。