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

相关推荐
阿髙1 小时前
nginx 代理文件并下载,同时设置文件名,axios取不到Content-Disposition解决办法
前端·javascript·nginx
夕阳_醉了2 小时前
JS里面Map的使用以及与Object的对比
前端·javascript·vue.js
ling081408143 小时前
Vue3全局挂载Dialog组件
前端·javascript·vue
Catherinemin3 小时前
CSS|12 display属性
前端·css
Amo 67293 小时前
css filter: drop-shadow() 高级阴影效果
前端·css
天天进步20153 小时前
CSS中的深度选择器 deep 详解
前端·css
95岁IT民工3 小时前
大屏项目使用css混合实现光源扫描高亮效果
前端·css·vue.js
匹马夕阳4 小时前
一篇梳理清楚JavaScript ES6中的Promise
前端·javascript·es6
2401_857026234 小时前
SSM 框架结合 Vue 实现电脑测评系统:助力用户明智选择
前端·javascript·vue.js
连胜优佳5 小时前
1.zabbix概述
前端·zabbix