自分の会社のデモサイトでIE固有のajaxログインステータス要求の問題が発生しました。 succsesfullyログイン後Internet Explorer for a login status check ajaxing
、ユーザーがオフに発射するランディングページにリダイレクトされます。それは他のすべてでチャンピオンのように動作している間、すべてのInternet Explorerブラウザ(7-9)で
、この問題が発生し、ログインステータス要求。
このログインステータス要求に「1」以外のものが戻った場合、そのページはログインページにリダイレクトされます。
デベロッパーツールのトラフィックに従うと、その特定のステータスチェックのリクエストが304の変更されていない(決して起こらないはずです)という結果が表示され、リクエストの本文が空に見えます。 (常に0または1を返します)...
そのチェックを含むページのハードリフレッシュ(CTRL-F5)では、ブラウザから304が返されます。
これらの304をフィドラーで追跡すると、ネットワーク経由でそのログインステータスURLが要求されていないことが示され、BROWSER ITSELFは304と仮定して要求を送信できません。
URLを直接訪問すると、レスポンスは常に適切な0または1の200が返されますが、ajax'edの場合は304が多く、ネットワークを経由して304を確認することもありませんサーバー。
クリアブラウザの履歴は、それが200
二重に奇妙に304を変更するかどうかに影響を与えないように見えるすべての10段のまたはそうしようと、これは実際に作業を行い、要求が実際の応答に戻って200にするということですしかし、しばしばそれは応答なしで304に戻り、値はキャッシュされた値と同じではありません(それは何に等しいかもわかりません)
私はこの要求に対する応答を変更しました。 phpによって生成された次のヘッダーを持っている:
header('Cache-Control: no-cache');
header('Pragma: no-cache');
header('Expires: -1');
IEで直接URLにアクセスすると、これらのヘッダーが存在します.304が発生すると、これらのヘッダーは存在しません。
IEが積極的にその特定の要求を無視しているかのように...任意のアイデア
ですか?
これも、これはまったく別のブラウザで、文字通り、さまざまな味のIEで動作します。
興味深い解決策は、これを試してみましょう。 – Rimer
@Rimer:だから?どうしたの? –
働いて、ありがとう! – Rimer