<script>
//在外部定义几个变量
var test = '';
$.get('xxxx',xxxx,function(ret){
//ajax获取的数据
//我想在这里改变变量test的值,但不知怎么改变外部变量的值,怎么办???
test = xxxx;
});
//外部再输出test
alert(test);
</script>
请问各位我如何才能实现想要的效果
菜鸟一枚,勿喷~
天蓬老师2017-04-10 14:42:31
异步没办法改变哦
要用同步的才可以
$.ajax(
type:'GET',
async:false,
url:'XXXXXX'
success:function(data){
//这里就可以改变test的值
});
伊谢尔伦2017-04-10 14:42:31
ajax叫做异步请求,就好比另外一个进程。你alert在正常的进程流里面,执行的时候test还没改变呢。
如果你的需求是,get到数据更新数据然后alert,那么你就把alert放在callback里面。
大家讲道理2017-04-10 14:42:31
楼上都说的比较清楚了,执行的步骤应该是 先是
var test = ''
然后再是
alert(test)
最后才是你的get
你在get的回调里面给test赋值
在上一步你是看不到改变的