XMLHttpRequestでデータを取得できません(ステータス0で、responseTextが空です):
xmlhttp = new XMLHttpRequest(); xmlhttp.open( "GET"、 "http://www.w3schools.com/XML/cd_catalog.xml"、true); xmlhttp.onreadystatechange = function() { if(xmlhttp.readyState == 4) alert( "ステータス" + xmlhttp.status); } xmlhttp.send();
「ステータス0」を警告します。
localhost要求の場合と同じ状況(cd_catalog.xmlはローカルファイルとして保存されます)
xmlhttp.open( "GET"、 "http://localhost/cd_catalog.xml"、true);
しかし、localhost IPリクエストでは
xmlhttp.open( "GET"、 "http://127.0.0.1/cd_catalog.xml"、true);
そしてローカルファイルリクエスト
xmlhttp.open( "GET"、 "cd_catalog.xml"、true);
すべて問題ありません(ステータス200)
オンラインリクエストで何が問題(status = 0)を引き起こす可能性がありますか?
PS:ライブHTTPヘッダーは、4つのケースすべてで問題がないことを示しています。
HTTP / 1.1 200 OK コンテンツの長さ:4742
PS2:VMWare上のApacheローカルWebサーバー(ホストOS Win7、ゲストOS Ubuntu、ネットワークアダプター– NAT)。ブラウザ– Firefox。
XMLHttpRequest
クロスドメインリクエストは実行できません。ただし、いくつかの回避策があります。たとえば、jqueryを見てください。
http://127.0.0.1
万が一、テストページになっていますか?;)