文章详情页
快速解决ajax返回值给外部函数的问题
浏览:709日期:2022-06-11 13:26:13
如下所示:
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
相关文章:
1. PHP ajax跨子域的解决方案之document.domain+iframe实例分析2. JSP Tag Library-AjaxTags 1.0, released3. 解决ajax请求后台,有时收不到返回值的问题4. Python生成器传参数及返回值原理解析5. php下的原生ajax请求用法实例分析6. Ajax原理与应用案例快速入门教程7. AJAX实现JSON与XML数据交换方法详解8. layui的checbox在Ajax局部刷新下的设置方法9. Ajax对xml信息的接收和处理操作实例分析10. pjax:ajax和pushState结合的js库——实现网站无刷新加载页面
排行榜

网公网安备