专栏首页Java技术分享Ajax请求中给全局变量赋值的解决方案

Ajax请求中给全局变量赋值的解决方案

昨天PP遇到一个问题,ajax修改全局变量后,外面获取不到ajax里赋的值,结果为空

问题代码如下图:

输出结果如下图:

原因: 先在控制台看看是ajax先被打印还是你的undefined先被打印,如果是undefined先被打印,则可以参考以下原因与解决方案: $.ajax默认是异步的, 异步回调在js主线程执行结束后才会被执行。所以先执行console.log(该变量),再执行ajax中的回调函数。所以后面的console.log执行时,该变量还没有被ajax赋值,所以是undefind。 解决方案: 如果确实需要获取ajax的结果赋值给该变量,那么可以ajax多加一个参数:async=false,就会同步执行。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Ajax请求中给全局变量赋值的解决方案

    ajax修改全局变量后,外面获取不到ajax里赋的值,结果为空???

    MonroeCode
  • 如何解决ajax跨域问题

    由 于此前很少写前端的代码(哈哈,不合格的程序员啊),最近项目中用到json作为系统间交互的手段,自然就伴随着众多ajax请求,随之而来的就是要解决 ajax的...

    MonroeCode
  • 反射类的构造函数

    <!-- 首先,通过Class获取类的字节码 Class clazz = Class.forName("com.marer.reflect.Person")...

    MonroeCode
  • Ajax请求中给全局变量赋值的解决方案

    ajax修改全局变量后,外面获取不到ajax里赋的值,结果为空???

    MonroeCode
  • ajax嵌套ajax 可能出现问题 的解决办法

    ajax由于他的异步特性 在第一次请求中的循环中嵌套第二个ajax会数据会读不出来

    小蔚
  • Spread for Windows Forms快速入门(2)---设置Spread表单

    让我们从设置Spread的大小和表单的外观开始学习如何定制Spread,这些操作通常放在Form的构造函数中进行,在InitializeComponent()之...

    葡萄城控件
  • 去苹果做 AI 一共分几步?看看这套面试指南吧(附面试题)

    用户1737318
  • 一个诡异的IE10的Bug

    今天突然遇到这么个诡异的问题,客户反映,在IE10下,某功能不能给返回提示。查了下,这地方是用的jquery的ajax方法,在success中使用了alert显...

    徐大嘴
  • 母版页的使用(shtml)

    静心物语313
  • 09.Django基础七之Ajax

        AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步的Javascript和XML”。即使用Javascrip...

    changxin7

扫码关注云+社区

领取腾讯云代金券