簡體   English   中英

jQuery 單擊使用 jQuery 的按鈕並在 ajax 成功后將數據附加到響應

[英]jQuery Click a button using jQuery and append data to response after ajax success

我有兩個按鈕,其中一個已經綁定了來自不同站點的 ajax 調用。 我需要使用第一個按鈕調用 ajax,並且我需要在 ajax 完成后將一些數據附加到結果中。

我無權編輯 ajax 函數或現有的 jQuery。 我所能做的就是創建一個新函數。 所以請不要讓我編輯 ajax jQuery 或函數。

只是我需要從控制台調用它。 是否有任何 jQuery 函數可以知道是否調用了 ajax 以及是否有成功響應。

我嘗試使用ajaxStart()ajaxStop() 但不工作。

這是我試過的。

 jQuery('.a').click(function(){ var valuetopass; //Copy Value from input of A jQuery(document).ajaxStart(function(){ console.log('Click Ajax Button'); valuetopass = jQuery('.a_value').val(); }); //Call Ajax jQuery('.b').click(); //Paste Value to the result appended jQuery(document).ajaxStop(function(){ console.log('Appended the result input field(b_value) to the html.'); //Paste the value in new field from ajax. jQuery('.b_value').val(valuetopass); }); });
 <input class="a_value" value="ABC"/> <button class="a">Button to initiate ajax</button> <button class="b">Button having Ajax</button>

在這里,當我們單擊按鈕A ,它將啟動對按鈕B的單擊,然后 ajax 將調用。 之后,結果將在 HTML 中附加一個輸入字段,如<input class="b_value"/> 我需要使用外部 jQuery 函數為此字段添加值。

我也試過

setTimeout(function(){
  jQuery('.b_value').val(valuetopass)
},500);

但我們不能說 500 毫秒將是所花費的確切時間。 有沒有可能找到調用並完成的ajax。

你可以使用 .ajaxComplete(),像這樣使用

$( document ).ajaxComplete(function(event, xhr, settings) {
  console.log(xhr.responseText);
});

這里 xhr.responseText 將擁有 jQuery ajax 方法進行的每個 ajax 調用的響應。 所以你的響應<input class="b_value"/>可以在這個回調中處理

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM