我想将html内容接收器从服务器(服务器2)追加到当前页面的主体(我从服务器1接收)。这是我想在加载页面时实现的(从服务器1接收)。(因此我从两个不同的服务器获取原始内容。)
我尝试使用
function Faulttest() {var myarray=new Array();
var urlarray=new Array();
$(document).ready(function(){
$.get({
url:"http://csce.unl.edu:8080/Anomalies/index.jsp",
data: "html",
success: function(result) {
alert(result);
$('#body').append(result) // result will be the contents received from the server
},
dataType:"text/html"
});
});
// more contents
}
页面的HTML内容为:
<body style="font-size:62.5%;" onload="Faulttest();" >
<div id="body" >
<h1>content top </h1>
//HTML CONTENTS GOES HERE
</div>
答案 0 :(得分:2)
看起来您正在尝试从其他域加载页面。 Same Origin policy会给你带来麻烦。你不能这样做!
如果您尝试加载内容的文件位于同一个域中,则可以通过调用jQuery get
方法轻松完成。
$(function(){
$.get("somepageInyourdomain.html",function(data){
$('#body').append(data);
});
});
答案 1 :(得分:1)
我猜你在混淆$.get和$.ajax,因为你正在使用$.ajax
的语法,它应该是:
$(document).ready(function(){
Faulttest();
function Faulttest() {
var myarray=new Array();
var urlarray=new Array();
$.ajax({
url:"http://csce.unl.edu:8080/Anomalies/index.jsp",
data: "html",
dataType:"text/html",
success: function(result) {
$('#body').append(result);
}
});
}
});
另外diEcho是对的,通常你不能因为安全限制而做跨域ajax请求,但是有一些黑客攻击。 使用数据类型jsonp将允许您发出跨域请求,但当然服务应该在json中返回结果并支持回调等。
删除body标签上的onload函数,并运行document.ready语句中的函数以确保加载jQuery。