• 错误代码
    如下方代码:
    函数checkExistOfUserId返回的不是true或false,而是undefined,导致外部其他函数无法判断此函数是否执行成功
function checkExistOfUserId(userId) {    $.ajax({url:"/commonServlet",async:true,   //默认为true,异步加载data:{"userid":userId}, type:"GET",dataType:"json",success:function(data){if(data.message == "true"){return false  //不生效}else{return  true  //不生效}},error:function(){alert("检测接口调用接口异常!")return false  //不生效}})
}
  • 修改后代码(注释地方为改动地方)
function checkExistOfUserId(userId) {var flag = false   //局部变量,用于接收ajax回调函数中传递的值$.ajax({url:"/commonServlet",async:false,  //默认为true,表示异步加载。改为false //因为如果仍然异步加载的话,局部变量flag的值可能并没有被ajax回调函数赋值,主函数就已经拿到flag的初始值false返回了,便会导致无论回调函数中怎么修改,主函数都返回false(简单点说:返回flag  和  flag被赋值必须有先后顺序,如果各走各的,那就很难保证拿到赋值后的flag来返回)data:{"userid":userId},  type:"GET",dataType:"json",success:function(data){if(data.message == "true"){                flag = false  //改为给局部变量赋值}else{                flag = true  //改为给局部变量赋值}},error:function(){alert("检测接口调用接口异常!")flag = false  //改为给局部变量赋值}})return flag  //方法结束之前,返回该局部变量
}
  • 参考文章

外部函数获取ajax返回的数据

Ajax回调函数中return不生效问题相关推荐

  1. spring返回数据使用ajax,【spring 后台跳转前台】使用ajax访问的后台,后台正常执行,返回数据,但是不能进入前台的ajax回调函数中...

    问题1: 使用ajax访问的后台,后台正常执行,并且正常返回数据,但是不能进入前台的ajax回调函数中 问题展示: 问题解决: 最后发现是因为后台的方法并未加注解:@ResponseBody,导致方法 ...

  2. ajax回调函数中不能触发input[type='file']事件的解决方法

    今天在做文件上传遇到一个问题,在ajax回调成功后触发input[type='file']元素的事件时始终不能弹出文件选择对话框 ,于是开始各种问题的排除,最终我发现在ajax 异步提交不行,要同步提 ...

  3. ajax回调函数中获取到的日期类型为时间戳

    示例代码: 页面: $("#test").click(function(e) { $.get( "/test", function(data) { consol ...

  4. JavaScript 回调函数中的 return false 问题

    今天一个同事问了我一个问题,就是在 Ajax 方法中,请求成功后(success)的回调函数中根据响应的值来判断程序是否继续执行,他不解的是在回调函数中已经 return false 了,但是 Aja ...

  5. 对ajax回调函数的研究

    假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情 ...

  6. asp.net ajax回调函数

    javascript 调用后台类(webservice)的语法: 类名.方法名(参数1,参数2,--,参数n,回调函数) 调用上有两个差别:一是不需要使用变量接收返回值,二是要在所有参数后面加一个参数 ...

  7. jQuery AJAX回调函数this指向问题

    了解JavaScript的人都知道JavaScript的this不总是指向当前对象,函数或类中的this指向与调用这个函数的对象以及上下文环境是息息相关的.如在全局作用域调用一个含this的对象,此时 ...

  8. java如何构造ajax回调参数,jQuery实现ajax回调函数带入参数的方法示例

    本文实例讲述了jQuery实现ajax回调函数带入参数的方法.分享给大家供大家参考,具体如下: 不带参数的写法: function pass(htmlId,auditingFlag){ var url ...

  9. 来自Android客户端什么意思,如何通过回调函数中的Node.js来自Android客户端

    我想从插座Android客户端将数据发送到服务器的Node.js .. 在服务器端做了什么香港专业教育学院:如何通过回调函数中的Node.js来自Android客户端 socket.on('new u ...

  10. ajax回调函数有时成功有时失败,javascript - Ajax 回调函数行为随机。我做错了什么?...

    我有以下行为随机的 ajax 函数.有时会显示警报 success finally.在其他情况下,第二个警报是 显示 Failure: my status is 500. promptId 从调用函数 ...

最新文章

  1. Spring 的 Bean 生命周期,11 张高清流程图及代码,深度解析
  2. APP如何保存数据?——iOS保存数据的4种方式
  3. java静态钥匙上同步代=代码块锁
  4. 如何配置Spring Boot Tomcat
  5. 如何做一名优秀的博士生--施一公教授
  6. ubuntu安装/查看已安装包的方法
  7. SAP Spartacus b2b 页面 popover append to body与否的不同行为
  8. excl中将某列数据合到单个单元格
  9. 【Python】Python实战从入门到精通之二 -- 教你使用Python中列表操作
  10. 初学者python笔记(装饰器、高阶函数、闭包)
  11. java中的values函数_详解java 中valueOf方法实例
  12. C# 中用DES 对称Key,IV 加密,前端crypto.js 解密
  13. 飞机器减震器的matlab建模和仿真模拟
  14. java pdf合并_如何实用Java实现合并、拆分PDF文档
  15. Ubuntu更新显卡驱动与升级cuda版本“采坑“小记
  16. 富瑞和SMBC Group宣布结成战略联盟来推动增长
  17. SLAM:一:产品经理眼中的SLAM技术学习路径
  18. android开发方法数,Android方法数methods超过65536详解
  19. JAVA常用类之日期处理
  20. Python的io模块详解

热门文章

  1. C# OpenCv 证件照换底色
  2. 收藏 | 江苏省各地教师公务员等实际工资爆料
  3. mysql yum 安装
  4. 洛谷P2736 “破锣摇滚”乐队 Raucous Rockers
  5. 计算机显卡驱动全部卸载,如何卸载显卡驱动重新安装?Win10卸载显卡驱动+重装显卡驱动的方法...
  6. java在线ide_程序猿专用十大在线编译器(IDE)整理
  7. 阿里云首席安全研究员吴翰清:我人生的两次选择
  8. 他是中国最牛X的黑客,曾让6个国家束手无策,却被怀疑是精神病
  9. 怀集天气预报软件测试,【天气】怀集要入夏?这份天气预报告诉你答案!
  10. PPT幻灯片放映时不显示视频(旁白)