public class UserLogin extends HttpServlet
{
/** serialVersionUID */
private static final long serialVersionUID = 464654165487455L;
/**
* 这里只是示例代码,没有考虑代码的合理性:
*
* The doGet method of the servlet.
* This method is called when a form has its tag value method equals to get.
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
// 如果是ajax请求,响应头会有x-requested-with相关字段信息
if (null == request.getSession().getAttribute("user"))
{
if (request.getHeader("x-requested-with") != null
&& request.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest"))
{
//在响应头设置session状态[可以在响应中自行添加相关字段信息]
response.setHeader("sessionstatus","nologin");
return;
}
}
}
/**
* The doPost method of the servlet.
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request,IOException
{
this.doGet(request,response);
}
}
$.ajaxSetup({
contentType:"application/x-www-form-urlencoded;charset=utf-8",complete:function(XMLHttpRequest,textStatus){
//通过XMLHttpRequest取得响应头,sessionstatus,
var sessionstatus=XMLHttpRequest.getResponseHeader("sessionstatus");
if(sessionstatus=="nologin"){
//如果超时就处理 ,指定要跳转的页面
window.location.replace("${path}/common/login.do");
}
}
}
});
总结
以上是编程之家为你收集整理的超时下Ajax请求处理全部内容,希望文章能够帮你解决超时下Ajax请求处理所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。