最近发现一个奇怪的现象,同一个post 请求在不同的tomcat 访问出现状态码分别出现200 和302
正常访问
!
出现302
!
使用ajax发起post 请求
$.ajax({
url: "/enroll/visit/StuInformation",
type: "POST",
dataType: "json",
data: {
"username": $.trim($("#subUsername").val()),
"stuNickname": $.trim($("#subNickname").val()),
"schoolName": $.trim($("#school-name").val()),
"stuClass": $.trim($("#subClass").val()),
"telephone": telephone, //手机号;
"stuNumber": $.trim($("#stuNumber").val()), //学号
"stuQQ": $.trim($("#stuQQ").val()),
"email": $.trim($("#subEmail").val()),
"verificationCode": $.trim($("#checking").val()),
"vaptcha_server": $.trim($("input[name='vaptcha_server']").val()),
"vaptcha_token": $.trim($("input[name='vaptcha_token']").val()),
"printFlag": options.val()
},
timeout: 5000,
success: function (data) {
if (data.code == 'OK'){
//跳转到下载须知;
alert("提交成功");
window.location.href = "/enroll/page/portal/index.html"
} else {
alert(data.message);
}
},
complete: function (XMLHttpRequest, status) { //请求完成后最终执行参数
if (status == 'timeout') {//超时,status还有success,error等值的情况
ajaxRequest.abort();
alert("服务器超时")
}
}
})
接收;
@PostMapping(value = "/visit/StuInformation")
public commonData conserveInformation(formData param , HttpServletRequest request){
HttpSession session=request.getSession();
//验证数据;
//判断是否重复提交;
//获取ip
param.setIp(request.getRemoteAddr());
System.out.println(param.getIp());
//获取cookie
param.setCookie(request.getHeader("Cookie"));
//获取请求头
param.setRequestHead(request.getMethod()+"\n"+request.getHeader("Host")+
"\n"+request.getHeader("Accept-Encoding")+"\n"+request.getHeader("Accept-Language")
+"\n"+request.getHeader("Cookie")+"\n"+request.getHeader("Referer")+"\n"+request.getHeader("User-Agent")
);
boolean flag=enrollservice.checkData(param, (String) session.getAttribute("verificationCode"));
commonData commondata=new commonData();
if(!flag){
commondata.setMessage("数据验证未通过请注意查看所填写信息");
commondata.setCode(statusCode.FOUND);
commondata.setSuccess("success");
return commondata;
}
boolean identify= enrollservice.saveRegistrationInformation(param);
if(identify) {
//注册成功后立即取消验证码;
session.removeAttribute("verificationCode");
commondata.setSuccess("success");
commondata.setMessage("报名成功!!!");
commondata.setCode(statusCode.OK);
}else {
commondata.setSuccess("success");
commondata.setSuccess("内部错误请稍后再试");
commondata.setCode(statusCode.FOUND);
}
return commondata;
}
请问有知道这是为啥的吗?,能帮忙解释一下吗?
302到了500页面,你的代码没有相关重定向操作,说明可能发生了未捕获异常,mvc异常处理逻辑执行了重定向。你看看302那台tomcat的日志应该有错误日志