php+ajax實時刷新數據庫信息遇到的緩存問題

最近做PHP頁面開發,用到Ajax局部刷新頁面功能,雖然網絡上有不少關於Ajax的介紹,而且代碼也比較多,但是真正自己用起來,還是會遇到各種問題,現將我遇到問題及問題的解決過程做一個總結。

問題再現:

按照老闆的意思,要做一個產品質量調查的投票頁,當要查看投票結果時,可以實現頁面的局部刷新,於是乎通過強大的網絡工具,我順利搞定了局部刷新功能,但是遇到的問題是,當我第一次登陸網頁進行結果查詢時,頁面顯示結果與數據庫結果是一致的,但是當我再次進行投票後,通過Ajax的刷新功能,無法得到最新的投票結果。

問題解決:問題的解決還是通過網絡工具,很快,我發現有不少開發同行遇到相似的問題,原因是在Ajaxopen()訪問相同的頁面時,就會調用本地緩存數據,所以就會出現數據沒有更新的問題,解決方案也很簡單,在Ajax的open()方法的url字符串後,加上時間戳,就可以順利解決問題了。最後附上我的關鍵代碼。

關鍵代碼:

var timestamp = Date.parse(new Date()); //就是它,解決了大問題啊
var url="./test.php?x="+timestamp;
xml_request.open('get',url,true);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章