我有发出 AJAX 调用的客户端。这些调用引用受服务器端 Spring Security 保护的 URL。如果用户的会话超时,我会在灯箱中弹出一个登录表单。用户成功登录后,我希望客户端重新执行 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 调用上返回成功响应。然后,成功函数在响应中查找某些内容以了解会话超时。客户端然后在那里存储一个回调函数。我更喜欢在错误函数中处理这个问题。