我想知道在使用jquery和ajax時停止duplciate提交的最佳方法是什麼?停止重複的Ajax子鏡像?
我想出了2種可能的方式,但不知道它們是僅有的2
在阿賈克斯開始禁用所有按鈕,直至請求完成。 2我遇到的問題雖然是我使用jquery模型對話框,所以我不知道如何禁用這些按鈕,因爲我不知道他們是否有id。第二,如果請求掛起,用戶無法再次嘗試,因爲所有按鈕都被禁用。
我正在尋找一種叫做AjaxQueue的功能,在這個時候,我不知道它是什麼我需要的或者它是如何工作的,因爲插件顯然是停機維護的。
http://docs.jquery.com/AjaxQueue
編輯
我覺得這是關閉的我一直在尋找在旋轉。
http://www.protofunc.com/scripts/jquery/ajaxManager/
我這個ajaxManager看到的唯一問題是,我想我有我所有的$。員額,$不用彷徨和$就那些改變自己的類型。
但是如果我需要$ .ajax中的特殊參數會發生什麼?或者我喜歡使用.post和.get。
編輯2
我認爲它可以在所有$阿賈克斯選項。我仍在研究它。然而,我現在不確定的是,我可以爲所有使用相同選項的請求使用相同的構造函數。
First you have to construct/configure a new Ajaxmanager
//create an ajaxmanager named someAjaxProfileName
var someManagedAjax = $.manageAjax.create('someAjaxProfileName', {
queue: true,
cacheResponse: true
});
或者我必須每次都做出上述情況嗎?
不會使用'timeout'屬性會更容易嗎?還是不按照我認爲的方式工作? :) – 2010-06-02 17:15:41
@Vivin - 好點。除非您想在'setTimeout()'中使用其他邏輯來決定是否中止,否則可以使用'timeout'屬性。 'request'變量是一個類似於你的答案的標誌,但是如果需要的話,還可以提供'abort()'功能。 – user113716 2010-06-02 17:21:18