跨域AJAX请求返回HTML(不是jsonp)

Cross Domain AJAX request return HTML (not jsonp)

本文关键字:不是 jsonp HTML AJAX 请求 返回 跨域      更新时间:2023-09-26

我正在使用这个插件:https://github.com/padolsey/jquery.fn/tree/master/cross-domain-ajax/

这是我的代码:

   $.ajax({
      dataType: 'html',
      type: 'GET',
      url: 'http://www.google.com',
      crossDomain: true
  }).done(function(data) { 
       $("#box").html('').append(data);
  });

根据我的理解,即使我有dataType:'html',我也相当确信这仍然会在JSONP中得到响应。

我希望能够抓取页面的整个html,完整显示页面所需的一切。可与iframe相比较。我之所以需要通过ajax来实现这一点,是因为最终我需要将参数传递到我正在使用的URL。用完整的HTML返回页面内容以便显示页面的最佳方式是什么?我需要做些什么来返回页面脚本/样式表吗?

基本上,我调用的URL需要返回,这样我就可以将返回附加到div id,然后该div id应该与我调用的页面完全相同,就好像我要在浏览器窗口中独立加载该页面一样。

谢谢!

您可以尝试Ajax跨源jQuery插件。

http://www.ajax-cross-origin.com/

    $.ajax({
        crossOrigin: true,
        url: url,
        success: function(data) {
            console.log(data);
        }
    });

引用的插件使用Yahoo YQL服务作为获取远程页面的代理。YQL将返回json,您应该能够访问data.responseText中的数据。这是插件的限制文档

为了确保您可以将数据记录到控制台并查看其结构。

可以在没有插件的情况下做同样的事情,使用YQL控制台创建所需的URL,以满足您使用XPATH语法

的抓取需求