叫我学弟 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 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置