尝试在已清除的范围内运行编译并执行脚本


attempt to run compile-and-go script on a cleared scope

我有一个使用ajax和jquery的简单表单验证。我以前也这样做过,但现在它似乎一次又一次地失败了。

标题是我在firebug控制台中看到的错误。经过一些谷歌研究,似乎是管理窗口的问题,但。。。我没有尝试这样做,我也在其他浏览器中尝试过,结果完全相同。表单提交。。。

这就是功能:

$("#login-da").submit(function(){
        $('#error').hide();
        var username = $('#username').val();
        var password = $('#password').val(); 
        var query = 'username=' + username + '&pass=' + password;
        $.ajax({
            type: "POST",
            url: "functions/check-user.php",
            async: false,
            data: query,
            cache: false,
            success: function(response){
                        if(response == 0) {                         
                            $('#error').slideDown();
                            var error = 1;
                        }
                        else {
                            var error = 0;
                        }
                    }
        });
        if (error == 1){        
            return false;
        }
    });

我曾尝试在成功函数中直接返回false,结果完全相同。错误开始显示,但表单无论如何都提交了,并且没有显示任何内容。通过调试,我还注意到ajax调用之外的任何东西都不会执行。

任何帮助都将不胜感激

尝试对响应数据使用Number(),同时检查响应函数上错误变量的范围:

success: function (response) {
    var result = Number(response);
    if (result == 0) {
        $('#error').slideDown();
        error = 1;
    } else {
        error = 0;
    }
}