1

FFに特定のURLを入力すると、返されるXMLが画面に表示されるので、Webサービスは機能しているようです。ただし、JSを実行しているローカルHTMLドキュメントからアクセスしようとすると、予期しない動作が発生します。返されるコードは「200OK」ですnull、FireBugによると、応答セクションにテキスト(または空の文字列)もxml()もありません。

これが私が電話をかける方法です。

var httpObject = new XMLHttpRequest();
httpObject.open("GET", targetUrl, true);
httpObject.onreadystatechange = function () {
  if (httpObject.readyState == 4) {
    var responseText = httpObject.responseText;
    var responseXml  = httpObject.responseXML;
  }
}
httpObject.send(null);

なぜそれが起こるのですか、そしてどのように私はそれに取り組むのですか?

4

1 に答える 1

0

これはHTTPヘッダーの問題である可能性があります(ヘッダーの欠落などAccept)。FFによって送信されたヘッダーを観察し(そのためにFirebugを使用できます)、スクリプトでそれらを複製してみてください(setRequestHeader)。

そうでなければ、それは「同一生成元ポリシー」の問題である可能性があります。

于 2012-11-12T10:13:15.380 に答える