坑爹的IE
项目测试中有个一直抓不住的异常,ajax提交注册表单,结果不进success也不进error,直接ajax结束,后台数据确实到了,但多次提交因为数据重复而报错,前台却完全没反应。
IE浏览器f12抓请求,发出多次相同的url,后台却没有接到访问。原因是后几次请求iE直接从浏览器的cache中获得数据。
解决方法:加入cache:false, ifModified :true ,强制浏览器访问。
$.ajax({
type: "POST",//方法类型
dataType: "text",//预期服务器返回的数据类型
cache:false,
ifModified :true ,
url: "${pageContext.request.contextPath }/regist.action" ,//url
data: $("#temp").serialize(),
success: function (result) {
console.log(result);//打印服务端返回的数据(调试用)
if(result!="failed"){
alert("注册成功!您是我们的第"+result+"位调研用户。");
document.location.href="${pageContext.request.contextPath }/login.jsp";
}else {
alert("注册失败!!!");
}
},
error : function(XMLHttpRequest, textStatus, err) {
alert("注册失败!!!请规范输入。");
console.log(err);
}
});