做一個(gè)項(xiàng)目用到Ajax,開(kāi)始覺(jué)得挺好,后來(lái)發(fā)現(xiàn)一個(gè)問(wèn)題,例如刪除一項(xiàng),恢復(fù)之后就不能再接著刪除, 
必須要等一段時(shí)間,后來(lái)知道是IE緩存的問(wèn)題 
AJAX緩存頁(yè)面是一個(gè)剛接觸AJAX的人一定會(huì)遇到的問(wèn)題,造成這個(gè)問(wèn)題的關(guān)鍵性人物又是Ie... 
在網(wǎng)上找了好多資料后,總結(jié)一下 
1:在AJAX請(qǐng)求的頁(yè)面后加個(gè)隨機(jī)函數(shù),我們可以使用隨機(jī)時(shí)間函數(shù) 
在javascript發(fā)送的URL后加上t=Math.random() 
當(dāng)然,不是直接把t=Math.random()拷貝到URL后面,應(yīng)該像這樣:URL+"&"+"t="+Math.random(); 
2:在XMLHttpRequest發(fā)送請(qǐng)求之前加上XMLHttpRequest.setRequestHeader("If-Modified-Since","0") 
一般情況下,這里的XMLHttpRequest不會(huì)直接使用 
你應(yīng)該可以找到這樣的代碼 
XXXXX.send(YYYYYY); 
那么,就把它變成 
XXXXX.setRequestHeader("If-Modified-Since","0"); 
XXXXX.send(YYYYYY); 
第二種方法感覺(jué)挺好 
ajax 清除緩存的兩種方法 
第一種: 
模板上加上 
<META HTTP-EQUIV="pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> 
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT"> 
第二種: 
url加上隨機(jī)數(shù)變量 
[AJAX介紹] 
  Ajax是使用客戶(hù)端腳本與Web服務(wù)器交換數(shù)據(jù)的Web應(yīng)用開(kāi)發(fā)方法。Web頁(yè)面不用打斷交互流程進(jìn)行重新加裁,就可以動(dòng)態(tài)地更新。使用Ajax,用戶(hù)可以創(chuàng)建接近本地桌面應(yīng)用的直接、高可用、更豐富、更動(dòng)態(tài)的Web用戶(hù)界面。 
  異步JavaScript和XML(AJAX)不是什么新技術(shù),而是使用幾種現(xiàn)有技術(shù)——包括級(jí)聯(lián)樣式表(CSS)、JavaScript、XHTML、XML和可擴(kuò)展樣式語(yǔ)言轉(zhuǎn)換(XSLT),開(kāi)發(fā)外觀及操作類(lèi)似桌面軟件的Web應(yīng)用軟件。 
  [AJAX執(zhí)行原理] 
  一個(gè)Ajax交互從一個(gè)稱(chēng)為XMLHttpRequest的JavaScript對(duì)象開(kāi)始。如同名字所暗示的,它允許一個(gè)客戶(hù)端腳本來(lái)執(zhí)行HTTP請(qǐng)求,并且將會(huì)解析一個(gè)XML格式的服務(wù)器響應(yīng)。Ajax處理過(guò)程中的第一步是創(chuàng)建一個(gè)XMLHttpRequest實(shí)例。使用HTTP方法(GET或POST)來(lái)處理請(qǐng)求,并將目標(biāo)URL設(shè)置到XMLHttpRequest對(duì)象上。 
  當(dāng)你發(fā)送HTTP請(qǐng)求,你不希望瀏覽器掛起并等待服務(wù)器的響應(yīng),取而代之的是,你希望通過(guò)頁(yè)面繼續(xù)響應(yīng)用戶(hù)的界面交互,并在服務(wù)器響應(yīng)真正到達(dá)后處理它們。要完成它,你可以向XMLHttpRequest注冊(cè)一個(gè)回調(diào)函數(shù),并異步地派發(fā)XMLHttpRequest請(qǐng)求。控制權(quán)馬上就被返回到瀏覽器,當(dāng)服務(wù)器響應(yīng)到達(dá)時(shí),回調(diào)函數(shù)將會(huì)被調(diào)用。 
  [AJAX實(shí)際應(yīng)用] 
  1. 初始化Ajax 
  Ajax實(shí)際上就是調(diào)用了XMLHttpRequest對(duì)象,那么首先我們的就必須調(diào)用這個(gè)對(duì)象,我們構(gòu)建一個(gè)初始化Ajax的函數(shù): 
 代碼如下: 
/** 
* 初始化一個(gè)xmlhttp對(duì)象 
*/ 
function InitAjax() 
{ 
 var ajax=false;             
新聞熱點(diǎn)
疑難解答
圖片精選