2015-09-07 14 views
1

現在我的頁面是動態生成內容如何在JQuery中擴展變量的數量?

例如,當我按下添加按鈕時,它會在正文中添加一個表單,並且每個表單都包含一個ajax請求。

的代碼是這樣的:

var ajax; 

ajax = $.ajax..... 

的問題是,它只是變限制爲一個,我想知道的是,有可以擴展的變量

數量對於任何方式例如:當添加兩個表單時,那麼會有兩個ajax變量,以及如何跟蹤它們?

感謝您的幫助。

更新:案例說明

這樣做的原因是因爲我想取消AJAX提交,這樣的情況是:

var ajax_req; 

$("form").submit(function(){ 
    ajax_req = $.ajax... 
}); 

$("cancel").click(function(){ 
    ajax_req.cancel(); 
}); 

但對於動態生成表格,我需要跟蹤所有ajax_req變量並知道我要取消哪個表單。

+4

您將需要一個數據結構,非常基本的JS。請參閱[對象](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects)和[數組](https://developer.mozilla.org/en-US/docs/ Web/JavaScript/Reference/Global_Objects/Array) – Teemu

+0

或者,很少需要持久地存儲'$ .ajax()'返回的承諾。如果您向我們展示實際環境的其餘部分(您實際正在嘗試做什麼),我們可以幫助您更徹底地解決您的問題。 – jfriend00

+0

當然,更新的問題 – user3538235

回答

0

我的解決方案是將表單提交轉換爲ajax請求。

這很容易,只需3個步驟:

  1. 防止原來的形式提交。
  2. 獲取表單變量。我想使用.serialize()
  3. 做一個ajax。

高級,你可以在表單標籤中設置一些參數,比如method="post",或者其他一些"data-"屬性。並且您可以在請求前閱讀這些參數。

希望這有助於:D

+0

謝謝,使用ajax obj數組修復了這個問題 – user3538235

+0

這不是我想的最好的方式。你可以試試.data() – Steven