360浏览器 ajax取缓存,Angularjs在360兼容模式下取数据缓存问题的解决办法
測試提了一個bug,在360瀏覽器兼容模式下,刪除頁面數(shù)據(jù)需要手動刷新瀏覽器才能看到最新的數(shù)據(jù)。首先要復(fù)現(xiàn)當(dāng)時的問題,很容易就復(fù)現(xiàn)了,但是發(fā)現(xiàn)在360瀏覽器兼容模式下無法打開開發(fā)者工具。好在經(jīng)過反復(fù)重裝之后,終于打開了開發(fā)者工具,經(jīng)過跟蹤發(fā)現(xiàn),第一次刪除數(shù)據(jù)時可以正常刷新,第二次或以后的刪除將無法刷新,跟蹤代碼,發(fā)現(xiàn)通過異步請求的數(shù)據(jù)正常的返回并且綁定了。點(diǎn)擊搜索按鈕,也無法實(shí)現(xiàn)刷新,但是點(diǎn)擊分頁,發(fā)現(xiàn)可以翻頁。初步推斷是瀏覽器緩存了異步請求數(shù)據(jù),跟蹤比較返回的數(shù)據(jù)發(fā)現(xiàn),推斷是正確的。于是從網(wǎng)上搜到一段代碼,設(shè)置為無緩存請求,代碼如下:
app.config(function ($httpProvider) {
// Initialize get if not there
if (!$httpProvider.defaults.headers.get) {
$httpProvider.defaults.headers.get = {};
}
// Enables Request.IsAjaxRequest() in ASP.NET MVC
$httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest';
//禁用IE對ajax的緩存
$httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';
$httpProvider.defaults.headers.get['Pragma'] = 'no-cache';
});
以上主要是我解決問題的思路和方法,期望能夠幫助其他遇到這個問題的小伙伴們快速解決這個問題。
總結(jié)
以上是生活随笔為你收集整理的360浏览器 ajax取缓存,Angularjs在360兼容模式下取数据缓存问题的解决办法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的世界服务器被无限循环怎么办,我的世界
- 下一篇: 坦克世界怎么没自动检测项