如何在部分 ajax 请求后处理非 ajax 响应?
How to handle non ajax response after partial ajax request?
我从页面发出部分 ajax 请求,如果我没有得到部分 ajax 响应作为响应,或者如果部分 ajax 响应格式不正确,我找不到一种处理方法。客户端在这种情况下只是不采取任何行动,只是保持冷静。
它发生在会话过期并且服务器 returns 非 ajax 响应(没有 <partial-response>
标记)而不是 ajax 响应时,或者当出现异常时 <partial-response>
变为格式错误且没有结束标记。
任何想法?
我试图在客户端覆盖 PrimeFaces.ajax.Response.handle
函数,但在这种情况下不会调用它(因为返回了非 ajax 响应)。
解决方案是将此 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>
我从页面发出部分 ajax 请求,如果我没有得到部分 ajax 响应作为响应,或者如果部分 ajax 响应格式不正确,我找不到一种处理方法。客户端在这种情况下只是不采取任何行动,只是保持冷静。
它发生在会话过期并且服务器 returns 非 ajax 响应(没有 <partial-response>
标记)而不是 ajax 响应时,或者当出现异常时 <partial-response>
变为格式错误且没有结束标记。
任何想法?
我试图在客户端覆盖 PrimeFaces.ajax.Response.handle
函数,但在这种情况下不会调用它(因为返回了非 ajax 响应)。
解决方案是将此 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>