2012-02-21 11 views
0

これはコードです。 AjaxはIEで動作するときに一度しか動作しません。しかし、他のすべてのブラウザでは、それは素晴らしい実行しています。 cool_add無題文献 関数() {//警告(post_idの)。 var txt1 = $( "#txt1")。val(); $ .post( 'jqueryphp.php'、{txt1:txt1}、関数(データ){ var dat = data; $( "div").html(data); }); }Jquery IE。 1回だけ実行されるajaxリクエスト

</script> 
</head> 

<body> 

<form> 
<input type="text" id="txt1" /><br /> 
<input type="button" id="butn" onclick="cool_add();"> 
</form> 
<div></div> 
</body> 
</html> 

それは他のすべてのブラウザで素晴らしい実行されているが、IEでそれはそれのthats一度実行します。あなたのAJAX呼び出しで

答えて

0

cache: false 

が含まれていることを確認してくださいIEはすべてをキャッシュし、それはあなたの呼び出しがすべて同じであると仮定し。

2

IEはすべての要求をキャッシュする傾向があり、要求パラメータが同じであれば、キャッシュされた応答を返します。これを避けるには、将来のajax呼び出しにグローバルに適用されるコードの後に​​$.ajaxSetupを使用できます。

$.ajaxSetup ({ 
     // Disable caching of AJAX responses 
     cache: false, 
}); 

ときcache=falseまた、以下のように特定のコール、

$.ajax ({ 
    //..other params 
    cache: false, 
    //..other params 
}); 

にこのcacheを適用することができますリクエストパラメータが一意になるように、jQueryのは、それぞれの要求に現在のタイムスタンプが追加されます。

+0

ここに私は..を追加しますか? –

+0

@ user1205245共通スクリプトにajaxSetupを追加することができます。実装したい一般的なパラメータはすべてajaxSetupに追加できます。詳細は、ajaxSetupのドキュメントを参照してください。特定の呼び出しでそれを使用する場合は、その特定の呼び出しでcache paramを使用できます。 –

関連する問題