就我以前認知
以為回傳資料不用特別擔心什麼問題
可是就在
最近發生了問題,就此打破我對回傳前後端的資料時的看法
---------------------------環境介紹---------------------------
本人是用MVC架構 使用angularJS
傳輸前後端資料使用 泛型檔 (.ashx)
前後端的傳輸媒介為 (ajax)
若環境不同,可能要自行改變寫法
---------------------------環境介紹---------------------------
我知道在網頁上有分暫存的資料跟新的資料的存取
就是非常簡單的在head處加上
<meta http-equiv="pragma" content="no-cache" />
這樣每一次進入網站時系統不會抓取舊的資料顯示,會每一次去抓取新的資料來做顯示
我以為這件事就這樣解決了
但是往往只是我以為......
今天當我在傳輸前後端資料時,我需要把一段文字存進JSON檔裡面
每一次編輯就直接更新JSON的資料
問題來了,今天我更新時,JSON的資料確實有改變
也更新了,網頁上的資訊也即時更新了(angularJS可以不用重整即顯示最新資訊)
但當我按下F5的時候
(我的程式有寫每次重整即去抓取資料)
我的資料返回到改變前的內容
無論重複F5幾次都一樣
後來發現...原來電腦內也有分暫存記憶檔
就是常常聽到的cache
---------------------------解決方式---------------------------
在後台做運作程式時
會回傳資料在前端中
而在回傳前 增加
context.Response.AddHeader("cache-control", "no-store"); //電腦中的暫存每一次抓取新的資料
這樣回傳出來的資料都會是最新的
---------------------------解決方式---------------------------
個人認知,有錯誤請輕噴,新手程式助理設計師XD
(下台一鞠躬)