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

前端之家收集整理的这篇文章主要介绍了Ajax请求中给全局变量赋值的解决方案前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

问题代码如下图:

输出结果如下图:

原因:

先在控制台看看是ajax先被打印还是你的undefined先被打印,如果是undefined先被打印,则可以参考以下原因与解决方案:

$.ajax默认是异步的,异步回调在js主线程执行结束后才会被执行。所以先执行console.log(该变量),再执行ajax中的回调函数。所以后面的console.log执行时,该变量还没有被ajax赋值,所以是undefind。

解决方案:

如果确实需要获取ajax的结果赋值给该变量,那么可以ajax多加一个参数:async=false,就会同步执行。

猜你在找的Ajax相关文章