好久没有写代码了,今天使用 jq 的时候发现success回调函数怎么都不执行。
而且令人不解的是,后端居然都成功接收请求,一切正常。
$.ajax({
type: "post",
url: "/login/login",
dataType : "json",
contentType : "application/json",
xhrFields: {withCredentials: true},
withCredentials: true,
data: (opt),
success: function (d) {
("执行了提交!");
(d);
if(d){
="../main/";
}else{
alert("密码错误!请重新输入!");
}
}
});
看了网上很多回答,大概有这几点:
- 将dataType的值从json改为txt
- 将dataType属性删除
- 将error的回调函数补上
- ...
我都试过了,最后可惜的是都不成功。最离谱的是将 error 的回调函数写上后,居然 error 和 success 回调函数都没有成功的执行。
因为我之前一直都是这样使用的,也没出过今天这种问题。最后发现和以前写的项目唯一不同之处居然是使用的 jquery框架 的版本。
我曾经用的是 jQuery v1.10.2
这次使用的是 jQuery 最新版本