跨域AJAX请求返回HTML(不是jsonp)
我正在使用这个插件: 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-cross-origin 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语法来满足您的抓取需求,可以在没有插件的情况下做同样的事情