我有一個.done
方法鏈接一個Ajax請求:deferred.done()在ajaxComplete()之前觸發嗎?
$.ajax({
type: "POST",
url: $formAction,
data: $form.serialize(),
})
.done(function() {
refreshComplaintCategoryResults($categoryId);
});
還有用來重新初始化的一些事件的.ajaxComplete()
:
$(document).ajaxComplete(function (e, jqXhr, ajaxOptions) {
reinitAll();
});
哪一個首先要火? .done()
方法或ajaxComplete()
方法?
我希望能夠在reinitAll()
方法之後做refreshComplaintCategoryResults()
。我不想再次調用reinitAll()
方法,因爲它會被調用兩次(我無法從ajaxComplete()
中刪除它)方法,但我不能將refreshComplaintCategoryResults()
置於ajaxComplete()
方法中。
UPDATE:
我已經加入這個的ajaxComplete()方法來得到我想要達到的目標,並去除中,.done()方法。然而,爲了完成一個動作,看起來似乎有些雜亂:
$(document).ajaxComplete(function (e, jqXhr, ajaxOptions) {
reinitAll();
if (ajaxOptions.url === "ComplaintWorkflow/GetComplaintCategoryResults")
{
$("tr[data-action-url]")[0].click();
}
});
難道沒有更好的方法嗎?
看起來像你有一個測試的所有氣質在那裏。 – canon
我不確定我明白你的意思嗎? – 97ldave
你爲什麼不嘗試並找出答案?將這兩個處理程序添加到您的'$ .ajax'調用中 – DLeh