叫我学弟 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 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错