全球Var Javascript

时间:2011-08-26 03:46:44

标签: jquery global-variables

我在JavaScript中有一个函数,我尝试从函数中更改全局变量但总是返回相同的初始值3:

例如:起始值3,功能值0,但始终是警报3。

    var test = 3;
    jQuery.ajax({
         type: "POST",
         url: "ajax_js.php",
         data: String,
         success: function(result){
            test = result;
              if(result == 0){
                 $('input[name=user_name]').val('');
                 }
          }
     });
     alert( test);

2 个答案:

答案 0 :(得分:4)

Ajax中的A意味着异步。

在请求完成之前,在调用success之前调用您的警报并且有机会更新变量。

尝试将警报移动到回调函数中,看看是否有效。

答案 1 :(得分:4)

把你的var test = 3;功能之外,例如:

<script type="text/javascript">
var test = 3;
$('#button').click(function() {
jQuery.ajax({
     type: "POST",
     url: "ajax_js.php",
     data: String,
     success: function(result){
        test = result; 
        alert( test);
          if(result == 0){
             $('input[name=user_name]').val('');
             }
      }
 });
});

</script>