我从页面发出部分ajax请求,如果我没有得到部分ajax响应作为响应,或者如果部分ajax响应格式错误,我找不到处理它的方法。客户端在这种情况下不做任何操作,只是保持冷静
它发生在会话过期且服务器返回非ajax响应(没有<partial-response>
标记)而不是ajax响应时,或者当一个异常被陈述时,<partial-response>
变得格式错误并且没有结束标记。
任何的想法?
我试图在客户端覆盖PrimeFaces.ajax.Response.handle
函数,但在这种情况下不会调用它(因为返回非ajax响应)。
答案 0 :(得分:0)
解决方案是将此java代码放在login.jsp页面中以识别ajax请求
<%
boolean ajax = "XMLHttpRequest".equals( request.getHeader( "X-Requested-With" ) );
if ( ajax ) {
// Authentication Timeout
response.setStatus( 419 );
}
%>
客户端的和jQuery(例如在某些模板中)
<script>
$.ajaxSetup({
statusCode: {
419: function() {
location.reload();
}
}
})
</script>