2015-09-19 58 views
0

我試圖在我的網站上執行每個AJAX請求後執行令牌交換。 爲此,我正在使用jQuery函數.ajaxSuccess。 我的問題是,每當我嘗試在此函數中執行AJAX請求時,顯然將其視爲成功,並且這會創建一個循環函數。Ajax上的POST請求完成

如何在一次只能運行一次的函數中創建一次性請求AJAX

I.e.像這樣: -

$(document).ajaxSuccess(function() { 
    $.post("somewhere", {some: "data"}, function(data){ 
     console.log(data); 
    }); 
}); 
+1

猜測你有另一AJAX功能的地方導致要觸發這個?將你的閉包移動到最初的函數,而不是'全局的'ajaxSuccess函數 – Ragdata

+0

但是,然後我將不得不添加我想要發生的函數到每個Ajax請求的末尾,不是嗎? – Polarize

回答

2

您可以檢查,如果你確實需要做一個AJAX請求在您的ajaxSuccess處理,像這樣

$(document).ajaxSuccess(function(event, xhr, settings) { 
    if (settings.url != "somewhere") { 
     $.post("somewhere", {some: "data"}, function(data){ 
      console.log(data); 
     }); 
    } 
}); 
+0

查看https://api.jquery.com/ajaxsuccess/以供參考 – andlrc

+0

嚴,哇。爲什麼我沒有想到這個我不知道。爲此歡呼。 – Polarize