您的位置 首页 java

ajax请求成功回调函数没有执行问题

问题1

如下常见的 Ajax 前端请求,请求成功后success:function(result){ 这里的数据没有执行 }:

 $.ajax({
 type:"post",
 url:"",
 xhrFields:{widthCredentials:true},//这里解决跨域问题需要结合后端哦
 data:{
 "username":$("#username").val(),
 "password":$("#password").val()
 },
 success:function (result) {
 if (0==result.code){
  alert ("注册成功");//这里没有正常弹出
 window.location.href ="login.html";
 
 }else {
 alert("注册失败,请重新注册");
 }
 },
 error:function (result) {
 alert("未知错误");
 }
 })
 

回调函数 没有正常执行,解决办法: 添加async: false ,(默认是true);

如上:false为同步,这个Ajax请求将整个浏览器锁死,

只有url请求中后台的方法执行结束后,才可以执行其它操作。

当async: true 时,ajax请求是异步的。但是其中有个问题:ajax请求和其后面的操作是异步执行的,那么当后台方法还未执行完,就可能已经执行了 ajax请求后面的操作。然而,data这个数据是在ajax请求success后才赋值的,结果,输出时会为空。

所以导致一种回调函数没有被调用的假象。

问题2

文章来源:智云一二三科技

文章标题:ajax请求成功回调函数没有执行问题

文章地址:https://www.zhihuclub.com/186051.shtml

关于作者: 智云科技

热门文章

网站地图