2012-01-13 7 views
2

JavaスクリプトローカルマシンでのHTTP要求のステータスゼロを克服する方法

var request = null; 
    if (window.XMLHttpRequest) { 
     request = new XMLHttpRequest(); 
    } else if (window.ActiveXObject) { 
     request = new ActiveXObject("Microsoft.XMLHTTP"); 
    } else { 
     return null; 
    } 
    request.open("GET", url, true); 
    request.send(null); 

    request.onreadystatechange = function() { 
     if (request.readyState == 4) { 
      if (request.status == 200) { 
} 
} else 
       alert(request.status); 
     } 
を使用してJSONリクエストを受け付けております私は同じquestion.Iをreposingていますので、そこに同じ質問がたくさんあるが、私は答えを見つけることができません

javascriptがapacheサーバー上で実行され、json要求がTomcatサーバーから受信されるというリクエストを受け取っている間にステータスコードゼロを受信しました。すべてがローカルです。誰も私にそれをどうにかするかを教えてくれるだろう。 注:どのフレームワークも使用できません。

+2

を:あなたのコード内の小さなミスがあります。 'rquest'を 'request'に置き換えます。 – reporter

+0

ありますhttp://stackoverflow.com/questions/8832359/jquery-ajaxrequest-xhr-status-code-0-but-html-status-code-200が役立ちます – reporter

答えて

2

ブラウザに組み込まれているsame origin policyの制限に違反している可能性があります。この制限により、クロスドメインAJAXリクエストを送信できなくなります。たとえば、AJAX呼び出しを含むページがhttp://localhost/example.htmでホストされていて、AJAX要求をhttp://localhost:8080/somescriptに送信しようとしている場合、ドメインが一致しない(異なるポート)ため、これを行うことはできません。

あなたのAJAXは仕事を要求していることを確認するための最良の方法は、相対URLを使用することです:ちょうどあなたの情報のため

request.open("GET", "/somescript", true); 
関連する問題