Ajax请求中给全局变量赋值的解决方案
2017-03-15 00:00
344 查看
昨天PP遇到一个问题,ajax修改全局变量后,外面获取不到ajax里赋的值,结果为空
问题代码如下图:
输出结果如下图:
原因:
先在控制台看看是ajax先被打印还是你的undefined先被打印,如果是undefined先被打印,则可以参考以下原因与解决方案:
$.ajax默认是异步的, 异步回调在js主线程执行结束后才会被执行。所以先执行console.log(该变量),再执行ajax中的回调函数。所以后面的console.log执行时,该变量还没有被ajax赋值,所以是undefind。
解决方案:
如果确实需要获取ajax的结果赋值给该变量,那么可以ajax多加一个参数:async=false,就会同步执行。
问题代码如下图:
输出结果如下图:
原因:
先在控制台看看是ajax先被打印还是你的undefined先被打印,如果是undefined先被打印,则可以参考以下原因与解决方案:
$.ajax默认是异步的, 异步回调在js主线程执行结束后才会被执行。所以先执行console.log(该变量),再执行ajax中的回调函数。所以后面的console.log执行时,该变量还没有被ajax赋值,所以是undefind。
解决方案:
如果确实需要获取ajax的结果赋值给该变量,那么可以ajax多加一个参数:async=false,就会同步执行。
相关文章推荐
- JQuery中使用Ajax赋值给全局变量异常解决方案
- ajax请求获取的数据无法赋值给全局变量问题总结
- JQuery中使用Ajax赋值给全局变量异常解决方案
- 关于ajax请求数据,并将数据赋值给全局变量的一些解决方法
- ajax同步设置,解决ajax请求内对全局变量赋值(data的数据)
- ajax同步提交数据,并把请求返回值赋值给全局变量
- JQuery中使用Ajax赋值给全局变量异常解决方案
- js通过ajax发送请求赋值全局变量
- ExtJs中使用Ajax赋值给全局变量异常解决方案
- [JS]JQuery中使用Ajax赋值给全局变量异常解决方案
- jquery.Ajax回调成功后数据赋值给全局变量的问题
- [AJAX]js设置全局变量,在ajax中给予赋值赋值不上
- ajax给全局变量赋值问题解决示例
- $.ajax()给全局变量赋值问题解决示例
- Ajax - 在函数中使用Ajax怎么使用返回值 - Ajax赋值给全局变量异常的解决方法
- js设置全局变量ajax中赋值
- ajax不能给全局变量赋值,只能采用同步提交的方式?
- JQuery中使用Ajax赋值给全局变量失败异常的解决方法
- ajax给全局变量赋值问题解决
- ajax给全局变量赋值问题解决示例