jQuery.get()
是帶有get調用的jQuery.ajax()
的簡寫。但是當我在.get()
調用的數據中設置cache:false
時,發送給服務器的是一個名爲cache的參數,其值爲false。雖然我的意圖是發送帶有數據的時間戳到服務器以防止緩存,這是如果我在jQuery.ajax數據中使用cache: false
會發生什麼情況。我如何做到這一點,而不重寫我的jQuery.get調用jQuery.ajax調用或使用如何在jQuery.get調用中設置緩存:false
$.ajaxSetup({
// Disable caching of AJAX responses
cache: false
});
更新:謝謝大家的答案。你們都是對的。但是,我希望有一種方法可以讓get調用知道您不想緩存,或將該值發送給底層的.ajax(),以便知道如何處理它。
我a。尋找比迄今已確定的三種方式以外的第四種方式:
做它全球範圍內通過ajaxSetup
使用阿賈克斯調用,而不是不用彷徨呼叫
通過在您的.get調用中添加一個持有時間戳的新參數來手動執行此操作。
我只是認爲這個功能應該被內置到.get調用中。
現代化解決方案展示完整的'得到()'的例子嗎? – Jivings 2012-01-12 20:02:18
我喜歡將頁面的日期/時間傳遞給頁面(假設我使用的是服務器端腳本語言),然後將頁面請求作爲查詢字符串參數傳遞給頁面。我這樣做的原因是因爲它允許緩存,除非頁面實際發生了變化。 – Archer 2012-01-12 20:07:38
使用緩存:false將時間戳附加到ajax/json請求,例如 {「get」:「modified」}&_ = 1394836303603 這破壞了我的API請求。花費太多時間才能找出添加時間戳的內容,因爲它隱藏在jQuery文檔中。 而不是使用緩存:false,只需添加自己的時間戳,假設你的API不會在意你添加了一個未知的參數。像這樣: {「get」:「modified」,「timestamp」:「1394836303603」} 這也可以讓您更好地控制哪些項目被緩存,哪些不是。 – 2014-03-15 01:18:34