Переменная область JavaScript - PullRequest
0 голосов
/ 24 июля 2011

Вот мой код

errors=0;
$(document).ready(function () {
    var chk=$("#usnm").val();
    $.post("register.php",{'chkuser':chk},function(data){
        if(data==" Username already exists.Choose a new one"){
            errors++;
            alert(errors);
            $("#alerts").html(data);
        }
     });
     if(errors==0){
         alert(errors+"post");
     }
});

Здесь первое предупреждение дает мне «1», тогда как второе предупреждение срабатывает, поэтому оно дает мне «0пост». Что я хотел бы знать, так это: как значение переменной error, внезапно изменяющееся на 0 после 1?

Спасибо

Ответы [ 2 ]

1 голос
/ 24 июля 2011

Изменить errors=0; на var errors=0;

и поместите проверку ошибок в функцию $.post:

   $.post("register.php",{'chkuser':chk},function(data){
        if(data==" Username already exists.Choose a new one"){
            errors++;
            alert(errors);
            $("#alerts").html(data);
        }
        if(errors==0){
            alert(errors+"post");
        }
     });
0 голосов
/ 24 июля 2011

jquery.post вызывается асинхронно. Вы можете отлаживать его локально, иначе второе предупреждение будет на первом месте. в любом случае, поскольку он работает асинхронно, значение внутри и снаружи функции post отличается

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