2012-02-15 13 views
2

私のウェブサイトから自分のローカルサーバーからXMLファイルを読みたいと思います。JavascriptでのXML HTTPリクエストの問題

var xmlhttp = new XMLHttpRequest(); 
var langadr = "http://" + document.location.hostname + ":" + document.location.port + "/languages/language.xml"; 
xmlhttp.open("GET", langadr); 
xmlhttp.send(); 
var xmlDoc = xmlhttp.responseXML; 

しかし、私はそれを実行したとき、私はxmlhttpstatusstatusText分野でDOMExceptionを取得しています:これは私がそれをやっている方法です。このファイルはURL経由で直接入手できます。ファイルはhereのサンプルです。私はここで間違って何をしていますか?

+0

これを試してください: 'xmlhttp.open(" GET "、langadr、true); xmlhttp.send(null);' – mgraph

答えて

1

あなたが同期のXMLHttpRequestを想定しているが、それのためのパラメータを設定しない:

xmlhttp.open("GET", langadr, false); 

デフォルトパーのブラウザでは、あなたのコードの破壊につながるasynchrounous呼び出しを使用します。

ただし、コールバックを提供することで非同期呼び出しを使用するようにコードを書き直す必要があります。 詳細はUsing XmlHttpRequest @ MDNをご覧ください。

+0

これは、上記のコメントの提案と一緒に動作しません(結果は同じです)。私は週末後に非同期呼び出しを試みますが、一方で私はここで何が間違っているか知りたいと思います。 – hardmax

+1

ローカルテストがうまく動作しました。エラーメッセージが表示されますか?あなたはajaxリクエストに対して同じ発信元ポリシーの制限を考慮しましたか? – Sirko

関連する問題