您当前的位置:首页 > 网站建设 > ajax
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery | 小程序 |

快速解决ajax返回值给外部函数的问题

51自学网 2022-02-21 10:51:13
  ajax

如下所示:

function validateUser(mya){ var val=mya.name; val = $.trim(val); var flag=true;  if(val != ""){ var url1="${pageContext.request.contextPath}/group/getUserCount" var data1= {"gid":val, time:new Date()};  $.post(url,data1,function(data){ // 1 表示用户名为空,可以注册 if(data=="1"){alert("不能删除,改组中有用");flag=false; }else{  flag=true; } })  if(flag==0){ //没有有用户  return true; }else{ alert("改组中含有用户,不能删除"); return false; }  }  }

问题: $.post的回调函数是在一个闭包中,有自己的作用域,返回值对于外部的函数不起作用,

可以在外部定义全局变量flag,但是 $.post异步请求,提前返回了flag, flag永远的默认值,

解决方式: 使用$.ajax,把 异步请求设置为同步请求

其实 ajax功能非常强大,可以直接不用拼接json

 $.ajax({ url:url1, async:false, data:data1, success:function(data){flag=data; }

以上这篇快速解决ajax返回值给外部函数的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持51zixue.net。


下载地址:
解决AJAX返回状态200没有调用success的问题
Ajax实现动态显示并操作表信息的方法
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。