你該知道的ajax的cache引數,快取屬性

2021-10-08 14:25:44 字數 1387 閱讀 6994

1.ajax的快取是什麼

ajax在傳送的資料成功後,會把請求的url和返回的響應結果儲存在快取內,當下一次呼叫ajax傳送相同的請求時,它會直接從快取中把資料取出來,這是為了提高頁面的響應速度和使用者體驗。當前這要求兩次請求url完全相同,包括引數。這個時候,瀏覽器就不會與伺服器互動。.

用法:ajax的快取讀取只對 get 請求方法有效,因為瀏覽器預設 post 提交的請求必定有變化,所以不讀快取。

$.

ajax(,

success :

function

(data)})

;

也就是說快取的是目標url 和後端返回的內容

2.這種設計使客戶端對一些靜態頁面內容的請求,比如,css檔案,js指令碼等,變得更加快捷,提高了頁面的響應速度,也節省了網路通訊資源。ajax快取雖然有上述的好處,但是如果通過ajax對一些後台資料進行更改的時候,雖然資料在後台已經發生改變,但是頁面快取中並沒有改變,對於相同的url,ajax提交過去以後,瀏覽器還只是簡單的從快取中拿資料,這種情況當然就不行了。

3.解決這種問題的方法,注意,方法是禁用頁面快取,而不是禁用ajax快取。

解決這個問題最有效的辦法是禁止頁面快取,有以下幾種處理方法:

1、在ajax傳送請求前加上 xmlhttprequest.setrequestheader(「cache-control」,」no-cache」);

2、在服務端加 header(「cache-control: no-cache, must-revalidate」);

3、在ajax傳送請求前加上 xmlhttprequest.setrequestheader(「if-modified-since」,」0″);

4、在 ajax 的 url 引數後加上 「?fresh=」 + math.random(); //當然這裡引數 fresh 可以任意取了

5、第五種方法和第四種類似,在 url 引數後加上 「?timestamp=」 + new date().gettime();

7、jquery提供乙個防止ajax使用快取的方法:

function loadeventinfopage(eventid));

$("#showeventinfo").

load

(ctx +

"/custevents/viewevent.action",,

function()

)}9、設定html的快取

"pragma" content=

"no-cache"

>

"cache-control" content=

"no-cache"

>

"expires" content=

"0">

你最該知道的事(活著)

好多人真的不知道怎麼活 人是社會一分子,凡是都離不開跟他人打交道,和父母。和子女,和鄰居街坊。和單位同事以及領導,和社會上各種形形色色的人打交道。甚至包含地痞流氓之類的。但好些人總是把事情弄糟,讓他人不快,自己則收穫了委屈,一次也就算了,可偏偏的 受傷的總是我!因為程式猿有著先天的方便條件 csdn...

HPC 關於MPI IO,你該知道的

在高效能計算中,經常會用到mpi或者mpi io,那mpi和mpi io到底是什麼呢?mpi message passing inte ce 是開發者們在高效能計算程式中,用於在參與計算的不同cpu 或伺服器節點之間進行訊息傳遞的一組規範或介面,通過這組介面,能幫助開發工程師們在不同的計算平台上快速...

你該知道的 20 件事情

url 在 eztable 的網誌上看到他們的 vp engineering,大神 york tsai 貼出的一篇 我二十歲時該知道的二十件事 我覺得非常有啟發意義,今天就借用他的這 20 個點,跟大家分享我的觀點。1.世界其實試著讓你保持愚笨 原因是愚笨的人的錢比較容易賺,愚笨的客戶與員工也比較好...