簡體   English   中英

奇怪的IE7 $ .getJSON ajax調用

[英]weird IE7 $.getJSON ajax call

我正在使用$ .getJSON來執行對最新數據庫更新的ajax調用。 Chrome和Firefox可以正常工作,但是使用IE7時IE7,服務器將響應自從我清除IE7緩存以來的第一次更新。

有任何想法嗎?

可以使用$ .ajax代替這些選項。.注意'cache:false':

$.ajax({
  url: url,
  dataType: 'json',
  cache: false,
  data: data,
  success: callback
});

參見: http : //api.jquery.com/jQuery.ajax/

我以前曾經經歷過。 您可能想添加一個每次都不同的新參數。 像這樣:

var ts = new Date().getTime(); //get the current timestamp
//add the ts as a parameter to your call along with all your other data. 

這樣,每個請求都是不同的,IE不會緩存它。

IE的這種不良習慣是緩存對AJAX調用的響應。

在您的查詢字符串中添加一個虛擬參數,該參數在您每次進行AJAX調用時都會更改,然后您將獲得新的結果。

更新:如果您使用Mootools,則可以自動完成此操作 查找noCache選項。

這是緩存的一個問題,在IE緩存您的數據,以便后者調用不會從服務器獲取結果,而是在IE緩存中

如果您對所有ajax使用jQuery,則應首先運行以下命令:

$.ajaxSetup({
  cache: false
});

如果設置為false,將強制瀏覽器不緩存請求的頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM