jquery easyui 异步提交,每次拦截请求类型都不是X-Requested-With

JQueryeasyUI1.3.2,JQuery1.8.0

要进行session是否过期验证,用了2种方式:1、ajax请求,就返回json2、普通http请求,直接返回登录页。

但是,每次拦截器获取的类型都是"普通http请求"。在页面我是用的esayUI提供的form提交,默认是ajax方式啊。怎么回事???麻烦各位老师帮我看看

页面:

<form>省略.......</form>

//修改密码

functionserverLogin(){

$('#chpwd').form('submit',{

url:"updatePwd.action",

onSubmit:function(){

return$(this).form('validate');

},

success:function(jsonData){

vardata=eval('('+jsonData+')');

if(data.success){

$.messager.alert("修改成功",data.message);

}

if(data.success==false){

$.messager.alert("修改失败",data.message);

}

}

});

}

拦截器:

@Override

publicStringintercept(ActionInvocationinvocation)throwsException{

/**

*拦截器

*/

HttpServletRequestrequest=ServletActionContext.getRequest();

HttpServletResponseresponse=ServletActionContext.getResponse();

StringreqType=request.getHeader("X-Requested-With");//获取请求类型

System.out.println("requesttype:==============="+reqType);

Map<String,Object>session=ActionContext.getContext()

.getSession();

StringsessionInfo=(String)session.get("sessionInfo");//获取设置的session信息

if(null==sessionInfo){

//ajax请求

if("XMLHttpRequest".equals(reqType)){

System.out.println("======================ajax");

PrintWriterpw=response.getWriter();

pw.print("sessionOut");//返回字符串"sessionOut"

pw.flush();

pw.close();

returnnull;

}

//普通请求

else{

System.out.println("======================http");

return"loginout";

}

}

相关推荐