$('a').click(function(event){
$('body').html('loading...');
$.post('www.sitename.com/hello',{site:"http//:www.google.com"},function(data) {
alert(data);
});
event.preventDefault();
});
我使用上面的脚本来覆盖链接的默认行为。这里引用的网站返回'site'参数的HTML。但是页面在打印加载后就停止了......
答案 0 :(得分:3)
看起来很好。您是否尝试访问外国域名?
Ajax跨域策略不允许这样做。
答案 1 :(得分:1)
使用jQuery.ajax调试代码,添加错误处理程序(错误可能在您的hello
处理程序上,JavaScript访问被拒绝异常等):
$.ajax({
type: "POST",
url: "/hello",
dataType:"html",
data:{site:"http//:www.google.com"},
success:function(data){
alert(data);
},
error:function (xhr, ajaxOptions, thrownError){
alert(xhr.statusText);
}
});
另外,请确保网址为 http:// ,而不是 http //:,并检查错误控制台是否存在其他JavaScript错误 - Ctrl < Firefox上的/ kbd> + Shift + J 。
答案 2 :(得分:0)
尝试将$ .post()替换为:
$('body').load('www.google.com');
编辑:这不起作用,因为Google的页面(包括标题)的整个dom将被插入到。