首页 > 解决方案 > Jquery var不更新其值

问题描述


这是我的问题。我有这段代码,允许我通过 ajax 调用检查数据库中是否已经存在“oldPsw”值。根据结果​​,内部控制更新输入和错误字段 cssrelative。这一切都运作良好。

    var errOld  = 0;
    var oldPsw  = $('#oldPsw').val();
    $.ajax({
        url:    "js/psw.php",
        data:   {'psw': oldPsw, 'user': user},
        type:   "GET",
        success:function(data){
            var ctrl_oldPsw = jQuery.parseJSON(data);
                div = $('#oldPsw').parent();
            if ( oldPsw.length === 0 ) {                            // empty value
                div.find('#oldPsw').removeClass().addClass('error');
                div.find('.icon-check').html('<i class="far fa-times-circle"></i>');
                div.find('.span-error').html('Campo obbligatorio').removeClass('hidden');
                errOld = 1;
            } else if ( ctrl_oldPsw.check == 'false' ) {            // old psw don't matches
                div.find('#oldPsw').removeClass().addClass('error');
                div.find('.icon-check').html('<i class="far fa-times-circle"></i>');
                div.find('.span-error').html('Inserire la password attuale').removeClass('hidden');
                errOld = 1;
            } else {                                                // psw matches
                div.find('#oldPsw').removeClass().addClass('correct');
                div.find('.icon-check').html('<i class="far fa-check-circle"></i>');
                div.find('.span-error').addClass('hidden');
            }
        }
    })

我的问题是变量“errOld”没有更新它的值。如果密码匹配,它应该返回 0,如果出现错误,它应该返回 1,但即使它旁边的代码有效,它也总是只返回 0。
你能告诉我什么让我逃脱了吗?
PS。我指定它不更新变量,事实上,如果在第一条语句中我没有给出值,它会返回“未定义”

标签: javascriptjqueryvar

解决方案


推荐阅读