0

解決できない問題を抱えて約1か月。ここで例のページを見ることができます: http://www.7ya.ru/travel/tours/

問題は、小さな緑色のフォームがクロスドメイン XHR を使用するウィジェットであり、問​​題を抱えている人がいるということです。XHR リクエストが失敗します。厳密には要求はありません。インスペクターは「キャンセルされました」と言うだけです。この問題は、OSX および Win 上の FF、Opera、および Chrome で発生します。

しかし!キャッシュを消去しようとする場合 (Chrome など):

クロムプライベートデータコントロールのチェックボックス

ウィジェットが魔法のように機能し始めていることがわかります。また、キャッシュのみを消去しようとしても機能しません。

では、2 つの異なるプラットフォーム上のほとんどのブラウザーで、どのデータが XHR 要求に影響を与える可能性があるかについて考えている人はいますか?

PS「バニラ」XHRとjQueryバージョンを使用しようとしましたが、同じように機能します。

PSSコードのビット (CoffeeScript):

  1. lt_jq – ローカル jQuery バージョン ($.noConflict())
  2. @inspect - JSON.stringify() に書式設定用の追加パラメータを追加

request = lt_jq.ajax({
    url       : method,
    dataType  : "json",
    data      : params,
    xhrFields : withCredentials:true
})

request.done (data)->
    @request_id = (data.request_id || null)
    callback?(data)

request.fail =>
    console.log "Request failed [#{method}], #{@inspect(params)}"

質問は終了しました。詳細はコメントに記載してください

4

1 に答える 1

0

あなたが使用しているネットワークはキャッシング プロキシを使用していますか、それともその音から、要求をフィルター処理するネットワーク上にウイルス対策または何らかのフィルターがありますか?

ファイルが正しいヘッダーなしでキャッシュされているように聞こえるため、CORSヘッダーが切り取られています...

これを確認することをお勧めする最も簡単な方法は次のとおりです。

  1. キャッシュをクリアし、開発ツールを開き、リクエストが機能するかどうかを監視し ます。要求ヘッダーと応答ヘッダーに CORS ヘッダーがあることを確認してください。
  2. キャッシュにファイルがあるので、ページをリロードします。動作していないことを確認してください。
  3. 動作しなくなったので、chrome://view-http-cache/ に移動して個々のキャッシュ エントリを表示し、そのファイルのリクエストを探します。それを開く。
  4. キャッシュされたファイルに CORS ヘッダーがあるかどうかを確認します。

そうでない場合... プロキシ/ウイルス対策がネットワーク内の CORS ヘッダーを切断していないことを確認するか、別の解決策を試してください

于 2013-04-02T16:39:35.997 に答える