快速解决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返回值给外部函数的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
栏 目:AJAX相关
下一篇:解决AJAX返回状态200没有调用success的问题
本文标题:快速解决ajax返回值给外部函数的问题
本文地址:https://www.xiuzhanwang.com/a1/AJAXxiangguan/11302.html
您可能感兴趣的文章
- 01-11ajax请求后台得到json数据后动态生成树形下拉框的方法
- 01-11layui的checbox在Ajax局部刷新下的设置方法
- 01-11ajax获得json对象数组 循环输出数据的方法
- 01-11解决ajax请求后台,有时收不到返回值的问题
- 01-11详谈ajax返回数据成功 却进入error的方法
- 01-11解决AJAX返回状态200没有调用success的问题
- 01-11Ajax实现动态显示并操作表信息的方法
- 01-11ajax实现从后台拿数据显示在HTML前端的方法
- 01-11ajax动态查询数据库数据并显示在前台的方法
- 01-11ajax异步读取后台传递回的下拉选项的值方法
阅读排行
本栏相关
- 01-11layui的checbox在Ajax局部刷新下的设置方
- 01-11ajax请求后台得到json数据后动态生成树
- 01-11ajax获得json对象数组 循环输出数据的
- 01-11解决ajax请求后台,有时收不到返回值的
- 01-11详谈ajax返回数据成功 却进入error的方
- 01-11解决AJAX返回状态200没有调用success的问
- 01-11快速解决ajax返回值给外部函数的问题
- 01-11Ajax实现动态显示并操作表信息的方法
- 01-11ajax实现从后台拿数据显示在HTML前端的
- 01-11ajax动态查询数据库数据并显示在前台
随机阅读
- 01-10C#中split用法实例总结
- 04-02jquery与jsp,用jquery
- 01-11ajax实现页面的局部加载
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-10delphi制作wav文件的方法
- 01-10SublimeText编译C开发环境设置
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-10使用C语言求解扑克牌的顺子及n个骰子