我正在尝试在会话超时后修复无响应的用户界面。由于HTTP 302重定向到登录页面,Ajax请求失败 - 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标头。我也试过了:
$(document).ajaxError(function (event, jqXHR, ajaxSettings, thrownError) {
handleAjaxError(event, jqXHR, ajaxSettings, thrownError);
});
但这根本不是开火。我正在使用apache wicket 7.6.0。有没有其他方法强制用户登录页面?
答案 0 :(得分:1)
线路上一定有一些错误。
通常,Wicket将使用<redirect>../the/path/to/login</redirect>
中的单个元素返回正确的Ajax响应(XML),wicket-ajax-jquery.js将处理它并进行重定向。
此外,可能有一个名为Ajax-Location
的响应头,Wicket以相同的方式处理。
检查响应标头和正文。也可以在这里粘贴它们!