Jquery验证& IE对象预期错误

时间:2013-04-02 22:42:30

标签: jquery ajax jquery-validate

我最近在用户登录页面上实现了jquery验证。代码在FF和Chrome中运行良好,但在IE 8和IE中爆炸。以上。

我无法弄清楚问题是什么,所以我终于放弃并决定寻求帮助

这是返回的json -

{"REDIRECT_URL":"","ERR_MSG":"Username or password is invalid","ERR_NUM":12}

请参阅下面的提交方法,IE在指定url参数的行上的$ .ajax调用内失败。错误为SCRIPT438: Object doesn't support this property or method

submitHandler:

function(form) {           
    if($("#user_login").valid()){
        var isValidLogin = false;
        var user = $("#username").val();
        var pwd = $("#user_password").val();

        $.ajax({
            type: 'GET',
            contentType: 'application/json; charset=utf-8',
            url: 'data_handler.php',
            data: "user=" + user + "&pwd=" + pwd,
            dataType: 'json',
            success: function (data) {
                redirect_url = data.REDIRECT_URL;
                err_msg = data.ERR_MSG;

                if(err_msg == ""){
                    location.href = redirect_url;
                            isValidLogin = true;
                }
                else{
                    if(redirect_url != ""){
                        location.href = redirect_url;
                    }
                    else{
                        $('#err_alert').show(); 
                        $('#err_alert').html(err_msg);
                    }

                    isValidLogin = false;
                }
            },
            error:function(){ }
        });

    }
    else{
        return false;
    }
    return false;
}

1 个答案:

答案 0 :(得分:0)

错误的行号有用。但无论如何你应该声明你的变种:

 success: function (data) {
                var redirect_url = data.REDIRECT_URL;
                var err_msg = data.ERR_MSG;

可能发生的事情是返回的json不包含您提到的属性REDIRECT_URL和/或ERR_MSG。

您可以直接导航到data_handler.php来测试json是否正确?user = youruser& pwd = yourpwd

Chrome和FF也可能在控制台中显示错误。

更新如果错误在此行:

data: "user=" + user + "&pwd=" + pwd,

也许您应该在上面设置一个变量来测试它。即:

var info = "user=" + user + "&pwd=" + pwd;

结合:

data: info,
相关问题