我正在使用此插件: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应该看起来与我调用的页面完全一样,就好像我要加载那个页面一样独立于浏览器窗口。
谢谢!
答案 0 :(得分:0)
引用的插件使用Yahoo YQL service作为获取远程页面的代理。 YQL将返回json,您应该能够在data.responseText
中访问您的数据。这是插件的限制文档
确保您可以将数据记录到控制台并查看其结构。
使用YQL控制台创建满足刮擦需求所需的URL,使用XPATH语法,可以在没有插件的情况下做同样的事情
答案 1 :(得分:0)
您可以尝试Ajax-cross-origin jQuery插件。
http://www.ajax-cross-origin.com/
$.ajax({
crossOrigin: true,
url: url,
success: function(data) {
console.log(data);
}
});