0

我想将 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>
4

2 回答 2

2

看起来您正在尝试从不同的域加载页面。同源政策会给你带来麻烦。你不能那样做!

如果您尝试从中加载内容的文件在同一个域中,您可以通过调用 jQueryget方法轻松完成。

$(function(){
  $.get("somepageInyourdomain.html",function(data){
       $('#body').append(data);
  });
});
于 2012-07-25T13:42:01.290 回答
1

我猜你混淆了 $.get$.ajax,因为你使用的是 for 的语法$.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 已加载。

于 2012-07-25T13:38:34.990 回答