当 session 在 apache wicket 中超时时,如何修复无响应的 UI(ajax 调用失败)?
How to fix unresponsive UI (failing ajax calls) when session times out in apache wicket?
我正在尝试修复 session 超时后无响应的 UI。 Ajax 请求失败,因为 HTTP 302 重定向到登录页面 - ajax 错误是 Could not find root <ajax-response> element
。
我订阅了ajax失败事件:
Wicket.Event.subscribe('/ajax/call/failure', function( attrs, jqXHR, textStatus, jqEvent, errorThrown ) {
handleAjaxCallFailure(attrs, jqXHR, textStatus, jqEvent, errorThrown);
});
但是我找不到任何合理的方法来获取http响应、响应代码或其他http headers。我也试过:
$(document).ajaxError(function (event, jqXHR, ajaxSettings, thrownError) {
handleAjaxError(event, jqXHR, ajaxSettings, thrownError);
});
但这根本没有开火。我正在使用 apache wicket 7.6.0。有没有其他方法强制用户登录页面?
线路上一定有错误。
通常 Wicket 会 return 一个适当的 Ajax 响应(XML),在 <redirect>../the/path/to/login</redirect>
中有一个元素,wicket-ajax-jquery.js 会处理它并进行重定向。
此外,Wicket 可能会以相同的方式处理名为 Ajax-Location
的响应 header。
检查响应 header 和 body。也把它们粘贴在这里!
我正在尝试修复 session 超时后无响应的 UI。 Ajax 请求失败,因为 HTTP 302 重定向到登录页面 - ajax 错误是 Could not find root <ajax-response> element
。
我订阅了ajax失败事件:
Wicket.Event.subscribe('/ajax/call/failure', function( attrs, jqXHR, textStatus, jqEvent, errorThrown ) {
handleAjaxCallFailure(attrs, jqXHR, textStatus, jqEvent, errorThrown);
});
但是我找不到任何合理的方法来获取http响应、响应代码或其他http headers。我也试过:
$(document).ajaxError(function (event, jqXHR, ajaxSettings, thrownError) {
handleAjaxError(event, jqXHR, ajaxSettings, thrownError);
});
但这根本没有开火。我正在使用 apache wicket 7.6.0。有没有其他方法强制用户登录页面?
线路上一定有错误。
通常 Wicket 会 return 一个适当的 Ajax 响应(XML),在 <redirect>../the/path/to/login</redirect>
中有一个元素,wicket-ajax-jquery.js 会处理它并进行重定向。
此外,Wicket 可能会以相同的方式处理名为 Ajax-Location
的响应 header。
检查响应 header 和 body。也把它们粘贴在这里!