做一個(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)
疑難解答
圖片精選