好久没有写代码了,今天使用 jq 的时候发现success回调函数怎么都不执行。
而且令人不解的是,后端居然都成功接收请求,一切正常。
$.ajax({
type: "post",
url: "/login/login",
dataType : "json",
contentType : "application/json",
xhrFields: {withCredentials: true},
withCredentials: true,
data: JSON.stringify(opt),
success: function (d) {
console.log("执行了提交!");
console.log(d);
if(d){
location.href="../main/index.html";
}else{
alert("密码错误!请重新输入!");
}
}
});
看了网上很多回答,大概有这几点:
- 将dataType的值从json改为txt
- 将dataType属性删除
- 将error的回调函数补上
- ...
我都试过了,最后可惜的是都不成功。最离谱的是将 error 的回调函数写上后,居然 error 和 success 回调函数都没有成功的执行。
因为我之前一直都是这样使用的,也没出过今天这种问题。最后发现和以前写的项目唯一不同之处居然是使用的 jquery框架 的版本。
我曾经用的是 jQuery v1.10.2文章来源:https://www.toymoban.com/news/detail-497155.html
这次使用的是 jQuery 最新版本文章来源地址https://www.toymoban.com/news/detail-497155.html
最终解决:更换回曾经 jquery 的版本
到了这里,关于Jquery使用ajax的success回调函数不执行,但是能正常请求的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!