叫我学弟 2020-06-02 11:11 采纳率: 0%
浏览 244
已采纳

jQuery中Ajax非异步请求回调函数内修改全局变量的问题

有这样一段JavaScript代码:

图片说明

JS文件最开始定义了一个each_angle_radiation全局变量,初始值为1

网页加载时通过POST向后台发送ajax请求,返回json格式数据,在ajax回调函数内将数据赋值给each_angle_radiation变量(代码第56行),值为一个列表。

ajax请求外部定义了一个setChart函数,这个函数需要使用each_angle_radiation这个全局变量。

页面内有一个下拉选择框,class=angle-selector,选择值改变时触发change事件,执行setChart函数。

但当change时间触发setChart函数时,函数内调用each_angle_radiation的变量值仍为初始值1,而不是ajax内赋值的列表。

按照网上的做法,将异步改为非异步(async=false),但仍无法解决,是我的情况比较特殊么或者是代码哪里不对么,求大佬解答~

  • 写回答

1条回答 默认 最新

  • 打杂的程序员 2020-06-02 11:24
    关注

    你哪里设全局变量了,你如果设置了each_angle_radiation全局变量,ajax方法里的就不要用var了,直接each_angle_radiation

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何实验stm32主通道和互补通道独立输出
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题