首頁  >  文章  >  web前端  >  jquery ajax請求方式與提示使用者正在處理請稍等

jquery ajax請求方式與提示使用者正在處理請稍等

PHP中文网
PHP中文网原創
2017-04-01 16:28:451707瀏覽

為了提高使用者體驗度,我們通常會給出 「正在處理,請稍等!」諸如此類的提示。我們可透過設定$.ajax()下的參數beforeSend()來實現

初次使用$.ajax() ,我沒有去區分過ajax的非同步請求和同步請求的不同,剛開始使用同步請求,以至後來出現許多問題,特別在體驗度方面。
非同步與同步:
同步表示執行完一段程式才能執行下一段,它屬於阻塞模式,其表現在網頁上的現像是-瀏覽器會鎖定頁面(即所謂的頁面假死狀態),使用者不能操作其它的,必須等待目前請求回傳資料。而使用非同步方式請求,頁面不會出現假死現象。
提升使用者體驗度:
當使用者提交資料等待頁面回傳結果是需要時間的,有時這段等待時間比較長,為了提高使用者體驗度,我們通常會給予「正在處理,請稍等!我們可透過設定$.ajax()下的參數beforeSend()來實現,
eg:
html關鍵程式碼 

<p id="warning"></p>

js檔案中的關鍵程式碼

$.ajax(function(){
.
.
.
//省略了一些参数,这里只给出async 和 beforeSend
async: false, //同步请求,默认情况下是异步(true)
beforeSend: function(){
$(&#39;#warning&#39;).text(&#39;正在处理,请稍等!&#39;);
}
});

注意,如果你按照同步設定async: false, $('#warning').text('正在處理,請稍等!');在網頁中根本沒有出現效果,如果將$('#warning').text('正在處理,請稍等!');換成alert('test');在發送請求前會立即看到彈出框,這說明beforeSend:是執行了,但是換成別的諸如$('#warning').text('正在處理,請稍等!'); 在請求發出返回結果了都沒有看到提示出現。關於這個問題,我是納悶了很久,問題到底是什麼我還是不清楚。
把同步請求改成非同步請求,上面的問題就沒有了,

beforeSend: function(){
$(&#39;#warning&#39;).text(&#39;正在处理,请稍等!&#39;);
}

會立即被執行。

 以上就是jquery ajax請求方式與提示用戶正在處理請稍等的內容,更多相關內容請關注PHP中文網(www.php.cn)!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn