jquery ajax請(qǐng)求方式與提示用戶正在處理請(qǐng)稍等
初次使用$.ajax() ,我沒有去區(qū)分過ajax的異步請(qǐng)求和同步請(qǐng)求的不同,剛開始使用同步請(qǐng)求,以至后來出現(xiàn)許多問題,特別在體驗(yàn)度方面。
異步和同步:
同步意味著執(zhí)行完一段程序才能執(zhí)行下一段,它屬于阻塞模式,其表現(xiàn)在網(wǎng)頁上的現(xiàn)象是——瀏覽器會(huì)鎖定頁面(即所謂的頁面假死狀態(tài)),用戶不能操作其它的,必須等待當(dāng)前請(qǐng)求返回?cái)?shù)據(jù)。而使用異步方式請(qǐng)求,頁面不會(huì)出現(xiàn)假死現(xiàn)象。
提升用戶體驗(yàn)度:
當(dāng)用戶提交數(shù)據(jù)等待頁面返回結(jié)果是需要時(shí)間的,有時(shí)這段等待時(shí)間比較長(zhǎng),為了提高用戶體驗(yàn)度,我們通常會(huì)給出 “正在處理,請(qǐng)稍等!”諸如此類的提示。我們可通過設(shè)置$.ajax()下的參數(shù)beforeSend()來實(shí)現(xiàn),
eg:
html關(guān)鍵代碼
<div id="warning"></div>
js文件中的關(guān)鍵代碼
$.ajax(function(){ . . . //省略了一些參數(shù),這里只給出async 和 beforeSend async: false, //同步請(qǐng)求,默認(rèn)情況下是異步(true) beforeSend: function(){ $('#warning').text('正在處理,請(qǐng)稍等!'); } });
注意,如果你按照同步設(shè)置 async: false, $('#warning').text('正在處理,請(qǐng)稍等!');在網(wǎng)頁中根本沒有出現(xiàn)效果,如果將$('#warning').text('正在處理,請(qǐng)稍等!');換成 alert(‘test');在發(fā)送請(qǐng)求前會(huì)立即看到彈出框,這說明 beforeSend:是執(zhí)行了,但是換成別的諸如 $('#warning').text('正在處理,請(qǐng)稍等!'); 在請(qǐng)求發(fā)出返回結(jié)果了都沒有看到提示出現(xiàn)。關(guān)于這個(gè)問題,我是納悶了很久,問題到底是什么我還是不清楚。
把同步請(qǐng)求改成異步請(qǐng)求,上面的問題就沒有了,
beforeSend: function(){ $('#warning').text('正在處理,請(qǐng)稍等!'); }
會(huì)立即被執(zhí)行。
- JQuery的Ajax請(qǐng)求實(shí)現(xiàn)局部刷新的簡(jiǎn)單實(shí)例
- jquery的ajax異步請(qǐng)求接收返回json數(shù)據(jù)實(shí)例
- 跨域請(qǐng)求之jQuery的ajax jsonp的使用解惑
- 為jquery的ajax請(qǐng)求添加超時(shí)timeout時(shí)間的操作方法
- jQuery.ajax 跨域請(qǐng)求webapi設(shè)置headers的解決方案
- Jquery ajax請(qǐng)求導(dǎo)出Excel表格的實(shí)現(xiàn)代碼
- Jquery Ajax請(qǐng)求文件下載操作失敗的原因分析及解決辦法
- 淺析jQuery Ajax請(qǐng)求參數(shù)和返回?cái)?shù)據(jù)的處理
- 教你如何終止JQUERY的$.AJAX請(qǐng)求
- jQuery中ajax的相關(guān)知識(shí)點(diǎn)匯總
相關(guān)文章
如何確保JavaScript的執(zhí)行順序 之jQuery.html并非萬能鑰匙
在上一篇文章《如何確保JavaScript的執(zhí)行順序 - 之jQuery.html深度分析》中,我們揭示了jQuery.html函數(shù)之所以能在各種瀏覽器下保持動(dòng)態(tài)JS順序執(zhí)行,其秘密在于 – 同步AJAX獲取外部JavaScript。2011-03-03解決用jquery load加載頁面到div時(shí),不執(zhí)行頁面js的問題
這篇文章主要介紹了解決用jquery load加載頁面到div時(shí),不執(zhí)行頁面js的問題。需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-02-02頁面加載完成后再執(zhí)行JS的jquery寫法以及區(qū)別說明
本篇文章主要是對(duì)頁面加載完成后再執(zhí)行JS的jquery寫法以及區(qū)別進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-02-02jQuery插件實(shí)現(xiàn)帶圓點(diǎn)的焦點(diǎn)圖片輪播切換
這篇文章主要介紹了jQuery插件實(shí)現(xiàn)帶圓點(diǎn)的焦點(diǎn)圖片輪播切換的代碼,使用起來也非常的簡(jiǎn)單方便,有需要的小伙伴可以參考下2016-01-01使用JQuery庫提供的擴(kuò)展功能實(shí)現(xiàn)自定義方法
如何沒有任何一個(gè)庫可以滿足所有的需求,可以使用JQuery庫提供的擴(kuò)展功能,下面有個(gè)示例,大家可以看看2014-09-09jQuery mobile在頁面加載時(shí)添加加載中效果 document.ready 和window.onload執(zhí)行順序
這篇文章主要介紹了jQuery mobile在頁面加載時(shí)添加加載中效果 document.ready 和window.onload執(zhí)行順序比較,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07