我有發出AJAX調用的客戶端。這些調用引用受服務器端Spring Security保護的URL。如果用戶的會話超時,我會在lightbox中彈出一個登錄表單。用戶成功登錄後,我希望客戶端重新執行AJAX調用。Spring Security登錄成功後,如何回調AJAX成功函數?
這裏的客戶端代碼,使一個AJAX調用的一個例子:
function handleSearchClick(evt) {
var setupOptions = {
success: loadSearch,
type: "POST",
dataType: "json",
url: "../search.ajax",
error: handleError, // how can I pass callback info i.e. I want to be able to execute $("#searchForm").ajaxSubmit(setupOptions); from handleError?
timeout: 50000
};
$("#searchForm").ajaxSubmit(setupOptions);
}
如果認證失敗,服務器返回401,這導致客戶端調用的HandleError。是否有可能傳遞一個回調函數handleError?我希望回調重新執行
$("#searchForm").ajaxSubmit(setupOptions);
我已經看到了這個問題,在服務器返回對具有會話超時AJAX調用成功響應的解決方案。然後,成功函數查找響應中的某些內容以瞭解會話超時。客戶端然後在那裏存儲一個回調函數。我更喜歡在錯誤函數中處理這個問題。
我的答案是否適合您? – Alex
感謝您的回答。然而,在下面的代碼「但你可以做以下」,我不知道handleError將如何調用$(「#searchForm」)。ajaxSubmit(setupOptions)。你能不能編輯提供更多的細節如何做到這一點? – James