javascript - js全局变量问题
PHP中文网
PHP中文网 2017-04-10 14:40:31
0
4
360
<script>
//在外部定义几个变量
var test = '';
$.get('xxxx',xxxx,function(ret){
    //ajax获取的数据
    //我想在这里改变变量test的值,但不知怎么改变外部变量的值,怎么办???
    test = xxxx;    
});
//外部再输出test
alert(test);
</script>

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

PHP中文网
PHP中文网

认证0级讲师

모든 응답(4)
洪涛

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

Peter_Zhu

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

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

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

});

伊谢尔伦

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

大家讲道理

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

var test = ''

然后再是

alert(test)

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

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿