2012-02-21 179 views
0

這是代碼。當我在IE中運行時,Ajax只運行一次。但與所有其他瀏覽器它運行良好。 無標題文檔 功能cool_add() {//警報(POST_ID); var txt1 = $(「#txt1」)。val(); (數據); $ .post('jqueryphp.php',{txt1:txt1},function(data){ var dat = data; $(「div」).html(data); }); }Jquery IE。 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只運行一次完蛋了。

回答

0

在你的Ajax調用,確保包括

cache: false 

IE緩存一切的,所以假設你的電話都是相同的。

2

IE傾向於緩存所有請求,如果請求參數相同,則它會返回緩存的響應。爲了避免這種情況,你可以使用下面的代碼$.ajaxSetup,它將被全局應用於任何未來的Ajax調用。

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

您還可以在如下特定呼叫應用此cache

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

cache=false,jQuery將當前時間戳添加到每個請求,以便請求參數是唯一的。

+0

我在哪裏添加此..? – 2012-02-21 19:17:09

+0

@ user1205245您可以將ajaxSetup添加到您的通用腳本中。您想要實現的任何常用參數都可以添加到ajaxSetup中。有關詳細信息,請閱讀ajaxSetup文檔。如果你想在特定的調用中使用它,你可以在該特定的調用上使用緩存參數。 – 2012-02-21 19:19:04