ajax同步执行async:false无效的解决方法

无效的情况:

javascript 复制代码
  function ManHourCheck() {
      var StartDate = $("#StartDate").val();//日报日期
      var EndDate = $("#EndDate").val();//完成日期
      var UserID = $("#UserID").val();//员工ID

      $.ajax({
          async: false,//加了这一行也没用!!!!!!!!!!!!!!!
          type: "POST",
          url: "/Daily/ManHourCheck",
          data: {
              "StartDate": StartDate,
              "EndDate": EndDate,
              "UserID": UserID,
          },
          success: function (result) {
              if (result.success) {
                  return true;//取不到!!!!!!!!
              }
              else {
                  layer.alert(result.message, { area: ['500px', ''] });
                  return false;//也取不到!!!!!!!!
              }
          }
      });
  }

修改为:

javascript 复制代码
  function ManHourCheck() {
      var StartDate = $("#StartDate").val();//日报日期
      var EndDate = $("#EndDate").val();//完成日期
      var UserID = $("#UserID").val();//员工ID

      var check = false;//看这里!!!!!!!!!!!!!
      $.ajax({
          async: false,
          type: "POST",
          url: "/Daily/ManHourCheck",
          data: {
              "StartDate": StartDate,
              "EndDate": EndDate,
              "UserID": UserID,
          },
          success: function (result) {
              if (result.success) {          
                  check = true;//看这里!!!!!!!!!!!!!
              }
              else {  
                  layer.alert(result.message, { area: ['500px', ''] });     
                  check = false;//看这里!!!!!!!!!!!!!
              }
          }
      });

      //看这里!!!!!!!!!!!!!
      if (check == true) {
          return true;
      }
      else {
          return false;
      }
  }

说明:

不要在ajax的success里面做 return 值!!!取不到的!!!

②用个变量去接 ajax的return 值, 然后 return 这个变量!!!就行了

③再不行的话,把ajax的return之后的操作的function写在success里.... 不推荐


其他参考一下这个: https://blog.csdn.net/qq_28938475/article/details/82800656

相关推荐
蓝婷儿27 分钟前
前端面试每日三题 - Day 32
前端·面试·职场和发展
星空寻流年1 小时前
CSS3(BFC)
前端·microsoft·css3
九月TTS1 小时前
开源分享:TTS-Web-Vue系列:Vue3实现固定顶部与吸顶模式组件
前端·vue.js·开源
CodeCraft Studio2 小时前
数据透视表控件DHTMLX Pivot v2.1发布,新增HTML 模板、增强样式等多个功能
前端·javascript·ui·甘特图
一把年纪学编程2 小时前
【牛马技巧】word统计每一段的字数接近“字数统计”
前端·数据库·word
llc的足迹2 小时前
el-menu 折叠后小箭头不会消失
前端·javascript·vue.js
九月TTS2 小时前
TTS-Web-Vue系列:移动端侧边栏与响应式布局深度优化
前端·javascript·vue.js
Johnstons3 小时前
AnaTraf:深度解析网络性能分析(NPM)
前端·网络·安全·web安全·npm·网络流量监控·网络流量分析
whatever who cares3 小时前
CSS3 伪元素(Pseudo-elements)大全
前端·css·css3
若愚67923 小时前
前端取经路——性能优化:唐僧的九道心经
前端·性能优化