Global Var Javascript - PullRequest
       8

Global Var Javascript

4 голосов
/ 26 августа 2011

У меня есть функция в 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 ]

4 голосов
/ 26 августа 2011

поставь свой вар тест = 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>
4 голосов
/ 26 августа 2011

A в Ajax означает асинхронный.

Ваше предупреждение вызывается до завершения запроса, до вызова success и возможности обновления переменной.

Попробуйте переместить предупреждение в функцию обратного вызова и посмотрите, работает ли оно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...