2011-06-21 13 views
2

問題:
私はPHPスクリプトにGETリクエストを送信するMootools Requestオブジェクトを持っています。スクリプトはIDの配列を返します。 IEを除くすべてのブラウザで、Requestオブジェクトの新しいインスタンス化が行われるたびに、PHPバックエンドスクリプトにヒットします。問題ありません。しかしIEでは、ブラウザセッションごとに一度だけPHPスクリプトにヒットします。キャッシュをクリアすると、バックエンドに再び流れますが、ブラウザの再起動やキャッシュの更新後にOKです。Mootools Request()はセッションごとに1回のみ動作します。IE9

質問:

  • IEは何とかキャッシングと私の要求をブロックしていますか?
  • もしそうなら私はIEがリクエストをブロックするのを防ぐために何か変更できますか?

注:

  • 問題は、互換モードでIE9にし、IE9 に存在しています。私は以前のIEのバージョンでは をテストしていません。
  • を使用すると、ページ全体でno-cacheを実行することはできません。
  • スクリプトにerror_log()文を使用して、到達しているかどうかを確認しました。

ここに私のコードです:

requestIDs : function() { 
     new Request({ 
      url : "/identity/idGenerator.php?generate_ids", 
      method : "get", 
      onSuccess : function(response) { 
       this.container.set('html', ''); 
       var idList = response.split(","); 
       console.log(idList.join(",")); 
      }.bind(this) 
     }).send(); 
    } 
}); 

答えて

2

あなたが要求をキャッシュからIEを防ぐために必要な、here is one solution.
そして MooToolsの中に内蔵されて適切なソリューションは、設定のparamでリクエストを初期化しているnoCache:true

var myRequest = new Request({... 
          ... 
          noCache:true, 
          ... 
          ...); 
+0

ありがとうございました。 – travega

1

IEをキャッシュしないようにするには、method: 'post'を使用します。

+0

ご返信ありがとうございます。これは問題を解決しますが、あなたがそれについて賢明であるならば、要求はバックエンドから静的なデータを検索するだけであり、技術的にはGET要求のままにしておかなければなりません。それは私がGETとPOSTのために同じものを使用しているのと同じことがいつ来るのか... – travega

関連する問題