2013-02-10 55 views
0

很多時候,我發現自己設計的應用程序可以對服務器,API,HTTP請求等進行AJAX調用。問題是,在發生這種異步調用時,用戶仍然有能力點擊相同的AJAX調用或中斷應用程序的流動等項目。我已經嘗試了各種黑客來防止這種情況,但我想知道什麼是最可接受的方式做到這一點?在AJAX調用期間'鎖定'用戶操作的技巧

爲了使這更具體一些,比方說,我有一個button元素,它使得AJAX調用和form元素改變我的應用程序用於AJAX調用的一些數據。設計按鈕和表單功能以便它們不工作的最佳方式是什麼button's AJAX調用正在進行中?

+0

對http://ux.stackexchange.com/問題可能會更好一些? – BrokenGlass 2013-02-10 19:44:58

+0

發送Ajax請求後刪除或隱藏表單/按鈕!? – idmean 2013-02-10 19:47:16

回答

1

完成所需內容的最佳方式是通過函數引導AJAX調用,以便在請求處於活動狀態時檢查該函數。這裏有一個例子假設你使用JQuery:

active_ajax_call = false; 

function get_ajax(url, senddata) { 
    if(active_ajax_call == false) { 
     active_ajax_call = true; 
     $.ajax({ 
      type: "POST", 
      url: url, 
      data: senddata 
     }).done(function (data) { 
      active_ajax_call = false; 
      console.log(data); 
     }); 
    } 
} 

get_ajax("some_url", {name: "John", location: "Amsterdam"}); 

而且ofcourse呈現網站的用戶一個不錯的AJAX加載程序什麼的,讓他們知道數據被拉出。

0

在按鈕的處理程序中,禁用按鈕(在視覺和功能上),然後執行AJAX調用。從AJAX調用返回,重新啓用該按鈕。

這是,主要網站如何做(例如PayPal)。