本篇文章給大家帶來的內容是關於thinkphp 3.2中如何控制頁面實現不進行緩衝,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所協助。
最近開發WAP網站時,最討厭的就是back鍵,會造成些麻煩事。不過,問題總有辦法解決。
有些頁面,點擊back鍵回退會載入緩衝,這不是想要的,所以希望能夠控制該頁面不緩衝,每次請求都需要從伺服器擷取最新資料。
解決思路就是通過控制 HTTP 的Cache-control 頭
![image](http://upload-images.jianshu.io/upload_images/2376873-9430d2fe3abc1f43?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
可以看到,Thinkphp 3.2 預設的Cache-control 為 private
那是因為設定檔中預設設定為 private
![image](http://upload-images.jianshu.io/upload_images/2376873-7f8fa48005716d81?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
頁面在渲染的時候將這個配置中的值設定為 Cache-control 頭
![image](http://upload-images.jianshu.io/upload_images/2376873-88a2fed7ee3bbac7?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
那根據以上資訊,一開始我只想到兩種解決辦法:
1、修改配置中的值 => 不現實,全域修改了
2、改寫源碼 => TP不可能這麼傻
最後的解決辦法是:在控制頁面不緩衝的方法中設定 `C('HTTP_CACHE_CONTROL',"no-store");`
![image](http://upload-images.jianshu.io/upload_images/2376873-7e4120004aaedadf?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)