0

サーバー(サーバー2)から現在のページ(サーバー1から受け取った)の本文にhtmlコンテンツレシーバーを追加したい。これは、(サーバー 1 から受信した) ページの読み込み中に達成したいことです (したがって、2 つの異なるサーバーから元のコンテンツを取得しています。)

使ってみた

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

別のドメインからページを読み込もうとしているようです。Same Origin ポリシーは、それで問題を引き起こします。そんなことはできません!

コンテンツをロードしようとしているファイルが同じドメインにある場合は、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 に答える