2009/08/05

[AJAX] 等待 jQuery.post() 處理時載入 "處理中..." 訊息


jQuery 的 post() 函數雖然可以輕易使用 AJAX 方法上傳資料,但是卻沒有在處理進度的時候顯示 "處理中" 訊息的功能,在 jQuery 的官方討論版中,有人就提出了這個問題,當然也獲得了解決

就是使用 $.ajaxStart() + $.ajaxStop() 配合 blockUI (官方網站) 達成
在 $(document).ready() 函數中,加入以下這幾行

if($.isFunction($.blockUI)==false){
alert('"jquery.blockUI.js" 未載入');
return 0;
}
$().ajaxStart($.blockUI).ajaxStop($.unblockUI);

這樣就可以讓網頁 自動判斷 是否有AJAX 事件觸發,並顯示類似 "處理中" 的訊息

說明:
ajaxStart(),ajaxStop 是 jQuery 的內建函數,$.blockUI 和 $.unblockUI 則是 blockUI 的函數
由於 blockUI 非 jQuery 內建,所以要先加入判斷是否載入

在 blockUI 的官方網站中就直接教你怎麼做了

沒有留言:

張貼留言