0

Chromeで動作しないAJAXを少し修正しようとしています。これは私のスクリプトではなく、すべてをjQueryに変換したくありません。

xmlhttp.open("GET", query, true);
xmlhttp.onreadystatechange = function () {
    if (xmlhttp.readyState == 4) {
        console.log(xmlhttp.responseText);
    }
}
xmlhttp.send();

これは、Internet Explorerの使用中に実際にログに何かを出力しますが、(Ch)romeに入ると、JSデバッガーがGET失敗したことを通知するため、空の文字列を取得します。ターゲットURLはIEで機能するため正しいですが、これはASP.NETスクリプトの一種であり、内部の動作についてはあまり詳しくありません(HTML、CSS、JavaScriptをこのあたりで実行しています)。

IEがターゲットから情報を取得できるのに、Chromeは許可されていないのはなぜですか?Chromeを使用xmlhttpするXMLHttpRequestと、IEはある種のを取得しActiveXObjectます。

編集。私はここでいくつかの可能な解決策を見つけました。Response.Close()、非同期または指定された/空のデータ型はありません。ただし、jQueryです。

#2を編集します。 Chromeが私のヘッダーについて言っていること。

4

2 に答える 2

3

ChromeのアドレスバーにURLを入力してURLを表示できますか?ブラウザの設定に、Chromeがサーバーを認識できないようにする何かがある可能性があります。

もう1つの可能性は、同一生成元ポリシーによって破壊されていることです。アクセスしているURLは、ページと同じドメインにありますか?

于 2012-08-15T10:49:26.873 に答える
0

さて、私はそれを解決しました。Response.Close()Chromeは、要求されたページの最後にあることを明らかに嫌っています。Response.End()それを修正するために変更します。ご協力ありがとうございました!

また、そのJavaScriptを1行のjQueryに置き換えました。

于 2012-08-21T06:27:23.303 に答える