我有发出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