0

ajax リクエストを送信する JavaScript コードがいくつかありますが、応答がありません。これをどのように修正すればよいでしょうか?ありがとう!

私が取得しようとしていたリンクは次のとおりです。 http://research.engineering.wustl.edu/~todd/cse330/demo/lecture6/helloClass.txt

私のコード:

<!DOCTYPE html>
<html>
<head>
  <script type="text/javascript">    
  function sendRequest() {    
    alert("Sending request");    
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open("GET","http://research.engineering.wustl.edu/~todd/cse330/demo/lecture6/helloClass.txt",true);
    xmlHttp.addEventListener("load",ajaxCallback,false);
    xmlHttp.send(null);
  }

  function ajaxCallback(event) {
    alert("Here is the response " + event.target.responseText );
    document.getElementById("demo").innerHTML= event.target.responseText;
  }    
  </script>
  </head>
  <body>
    <h1>My Ajax  Web Page</h1>
    <p id="demo">I will display something here</p>    
    <form>
      <input name="submit" type=button value="Send Ajax Request" onClick="sendRequest()">
    </form>    
  </body>
</html> 

ご回答ありがとうございます。あなたが提案したようにJSONPを試しました、私は使用します

<script type="text/javascript" src="http://research.engineering.wustl.edu/~todd/cse330/demo/lecture6/helloClass.txt?jsonp=parseResponse"> 

私の新しいスクリプトタグ用ですが、まだ機能しません。さらにヒントはありますか?ありがとう!

皆様、ご回答ありがとうございます!しかし、私はこの手法に慣れていないので、まだ混乱しています。私が勉強するために、より詳細なコードを持ってきていただけませんか。また、エージェントのリスニング手法にも非常に興味があります。

4

2 に答える 2

2

あなたがこの HTML を に書いているわけhttp://research.engineering.wustl.edu/ではないと思います。もしそうなら、クロスドメインリクエストを許可しないSame Origin Policyでブラシを持っているだけです.

現在、このクロスドメイン通信を行う方法がいくつかあります。一般的な方法のいくつかはCross-Origin Resource SharingJSONPです。サーバーコードはSOPにバインドされていないため、サーバー、つまりページが存在するドメイン、リモートページをフェッチするプロキシサーバーを作成することもできます。

于 2013-07-20T00:33:32.997 に答える
0

まず、クロスブラウザの ajax リクエストを作成することはできません。

JSON は機能しますが、JavaScript を少し書き直す必要があります。

解決策: サーバーを介してリクエストを中継します。次のようなリクエストをリッスンするエージェントをサーバー上に作成します: URL。サーバー上のコーディングは単純で、JavaScript の再設計は最小限で済みます。サーバーのコーディング方法について質問がある場合は、質問してください。

于 2013-07-20T01:23:52.477 に答える