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

相关推荐
烂蜻蜓17 分钟前
前端已死?什么是前端
开发语言·前端·javascript·vue.js·uni-app
谢尔登1 小时前
Vue 和 React 的异同点
前端·vue.js·react.js
祈澈菇凉6 小时前
Webpack的基本功能有哪些
前端·javascript·vue.js
小纯洁w6 小时前
Webpack 的 require.context 和 Vite 的 import.meta.glob 的详细介绍和使用
前端·webpack·node.js
想睡好6 小时前
css文本属性
前端·css
qianmoQ6 小时前
第三章:组件开发实战 - 第五节 - Tailwind CSS 响应式导航栏实现
前端·css
zhoupenghui1687 小时前
golang时间相关函数总结
服务器·前端·golang·time
White graces7 小时前
正则表达式效验邮箱格式, 手机号格式, 密码长度
前端·spring boot·spring·正则表达式·java-ee·maven·intellij-idea
庸俗今天不摸鱼7 小时前
Canvas进阶-4、边界检测(流光,鼠标拖尾)
开发语言·前端·javascript·计算机外设
bubusa~>_<7 小时前
解决npm install 出现error,比如:ERR_SSL_CIPHER_OPERATION_FAILED
前端·npm·node.js