1. 程式人生 > >解決jquery之get快取問題的最簡單方法

解決jquery之get快取問題的最簡單方法

在ie系列下,$.get()方法在url地址固定時,會快取返回結果,導致不可預料的問題。但在火狐下,則不會快取。

要解決該問題有很多辦法,最直接的是把$.get()方法換成$.ajax(),然後配置cache:false即可。我不喜歡$.ajax()繁瑣的配置方式,可採取以下最簡單方式實現:

在$.get()的data後面加上新的隨機引數,如{data: mydata, stamp: Math.random() },由於每次資料不一樣,故請求後返回的資料不會快取。

另外也可把$.get()改成$.post(),也可解決此問題。

一勞永逸的解決辦法是設定全域性引數,$.ajaxSetup({cache:false});這樣設定後,基本所有的get請求jquery都會自動加上_1948838字樣的附加引數,總體來說與上面的解決方法類似。

例如:

$.get("ProvinceListByCountryIDHandler.ashx", { "cid": $drpCountry.val(), "time": new Date().getTime() }, function(data, returnStatus) {})