架构师_程序员

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 187|回复: 0

[Jquery] 解决ajax无法给外部变量赋值

[复制链接]
发表于 2019-9-27 16:23:10
zu
因为Ajax默认是以异步方式来获取数据的,执行Ajax的时候你程序是继续往下面执行的,这样你那个变量没有被Ajax方法赋值,


  1.   function btnclick() {
  2.             var flag = "";
  3.             console.log(flag)
  4.             $.ajax({
  5.                 type: 'get', // 请求方式
  6.                 dataType: 'text',
  7.                 url: 'js/data.json', // 接口
  8.                 success: function(data) {
  9.                     flag = 'asdasd';
  10.                     console.log(flag);
  11.                 },
  12.                 error: function(data) {
  13.                     flag = 'asdasdasdasdasd';
  14.                     console.log(flag)
  15.                 }

  16.             });
  17.             console.log(flag);
  18.             return flag;

  19.         }
复制代码


在ajax中设置async:false;也就是同步
当async为false的时候,意味着ajax请求为同步的,那么这个API就默认你是直接通过$.ajax()这个方法调用所返回的结果去取值,而不是通过success回调函数进行取值,所以也就不会调用success这个回调函数。



  1.   function btnclick() {
  2.            var flag = "";
  3.             console.log(flag)
  4.             $.ajax({
  5.                 type: 'get', // 请求方式
  6.                 dataType: 'text',
  7.                 url: 'js/data.json', // 接口
  8.                 async: false,  // 同步操作
  9.                 success: function(data) {
  10.                     flag = 'asdasd';
  11.                     console.log(flag);
  12.                 },
  13.                 error: function(data) {
  14.                     flag = 'asdasdasdasdasd';
  15.                     console.log(flag)
  16.                 }

  17.             });
  18.             console.log(flag);
  19.             return flag;

  20.         }
复制代码






上一篇:求分享PHPDisk Z-Core运营版6.6城通模板含15个广告位
下一篇:.NET Core 新功能发布单文件可执行文件
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|Archiver|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2020-2-29 16:56

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表