首页 > js全局变量问题

js全局变量问题

<script>
//在外部定义几个变量
var test = '';
$.get('xxxx',xxxx,function(ret){
    //ajax获取的数据
    //我想在这里改变变量test的值,但不知怎么改变外部变量的值,怎么办???
    test = xxxx;    
});
//外部再输出test
alert(test);
</script>

请问各位我如何才能实现想要的效果
菜鸟一枚,勿喷~


异步没办法改变哦
要用同步的才可以

$.ajax(
    type:'GET',
    async:false,
    url:'XXXXXX'
    success:function(data){

    //这里就可以改变test的值

});


alert(test) 放到回调里。现在的写法,是先执行 alert(test) ajax请求成功后,再执行回调修改变量的值。


楼上都说的比较清楚了,执行的步骤应该是 先是

var test = ''

然后再是

alert(test)

最后才是你的get
你在get的回调里面给test赋值
在上一步你是看不到改变的


ajax叫做异步请求,就好比另外一个进程。你alert在正常的进程流里面,执行的时候test还没改变呢。
如果你的需求是,get到数据更新数据然后alert,那么你就把alert放在callback里面。

【热门文章】
【热门文章】