俗話說不作死就不會死,今天作死了一回,寫了一個比較二逼的函數,遇到了同步Ajax引起的UI線程阻塞問題,在此記錄一下。 事情起因是這樣的,因為頁面上有多個相似的異步請求動作,本着提高代碼可重用性的原則,我封裝了一個名為getData的函數,它接收不同參數,只負責獲取數據 ...
一 問題的起因 今天做一個需求遇到了這么個情況,就是用戶個人中心有個功能,點擊按鈕,可以刷新用戶當前的積分,這個肯定需要使用到ajax的同步請求了,當時喀喀喀三下五除二寫玩了,大概代碼如下: 本以為這么簡單的功能喀喀喀隨便寫寫就沒事了,在運行的時候出現了問題,當用戶點擊刷新積分按鈕時,文案沒有修改為 正在刷新 ,但是ajax請求發送了,於是我查看網頁代碼,發現js其實把文案和html元素綁定的on ...
2016-12-16 18:35 0 14949 推薦指數:
俗話說不作死就不會死,今天作死了一回,寫了一個比較二逼的函數,遇到了同步Ajax引起的UI線程阻塞問題,在此記錄一下。 事情起因是這樣的,因為頁面上有多個相似的異步請求動作,本着提高代碼可重用性的原則,我封裝了一個名為getData的函數,它接收不同參數,只負責獲取數據 ...
今天做一個需求遇到了這么個情況,就是用戶個人中心有個功能,點擊按鈕,可以刷新用戶當前的積分,這個肯定需要使用到ajax的同步請求了,當時喀喀喀三下五除二寫玩了,大概代碼如下: 本以為這么簡單的功能喀喀喀隨便寫寫就沒事了,在運行的時候出現了問題,當用戶點擊刷新積分按鈕時,文案沒有修改 ...
在Web開發的時候經常會遇到瀏覽器不響應事件進入假死狀態,甚至彈出“腳本運行時間過長“的提示框,如果出現這種情況說明你的腳本已經失控了,必須進行優化。 為什么會出現這種情況呢,我們先來看一下瀏覽器的內核處理方式: 瀏覽器的內核是多線程的,它們在內核制控下相互配合以保持同步,一個瀏覽器至少實現 ...
瀏覽器的第一次請求需要從服務器獲得許多 css、img、js 等相關的文件,如果每次請求都把相關的資源文件加載一次,對 帶寬、服務器資源、用戶等待時間 都有嚴重的損耗,瀏覽器有做優化處理,其把css、img、js等文件在第一次請求成功后就在本地保留一個緩存備份,后續的每次請求就在本身獲得相關的緩存 ...
在使用ajax向后台發送請求的時候,在使用ie 進行調試的時候發現根據條件進行查詢時,返回的數據與沒有根據條件進行查詢時數據相同,也就是條件沒有發生作用。 經過同事的幫助發現ajax初始化設置時沒有cache:false,ie發現走的是同一個函數,所以直接讀了緩存數據。 現將ajax各參數 ...
Ajax請求與瀏覽器緩存 在現代Web應用程序中,前端代碼充斥着大量的Ajax請求,如果對於Ajax請求可以使用瀏覽器緩存,那么可以顯著地減少網絡請求,提高程序響應速度。 1. Ajax Request 使用jQuery框架可以很方便的進行Ajax請求,示例代碼 ...
問題 前幾天,同事遇到一個瀏覽器假死的問題。就是瀏覽器在響應一個請求的時候,就突然不響應時間,進入假死狀態,Cup也飆升到100%. 但是這個問題只出現在IE瀏覽器,chrome和Firefox等其他瀏覽器正常。 原因 Js 代碼里面,看着也沒有什么耗時的操作和后台異步 ...
今天做項目,幾乎所有的提交都是通過ajax來提交,我測試的時候發現,每次提交后得到的數據都是一樣的,調試可以 排 除后台 代碼的問題,所以問題肯定是出在前台。每次清除緩存后,就會得到一個新的數據,所以歸根到底就是瀏覽器緩存 問 題。糾結 ...