jQuery验证成功触发消息

时间:2012-06-13 18:10:56

标签: javascript jquery ajax

我试图找出对用户名或电子邮件地址进行远程功能的回调,如果返回的数据等于“n”,则应该触发要显示的消息。

JS:

$(document).ready(function() {
    var validator = $("form").validate({
        rules: {
            username: {
                minlength: 6,
                maxlength: 12,
                remote: {
                    type: 'post',
                    url: 'register/is_username_available',
                    data: {
                        'username': function() {
                            return $('#username').val();
                        }
                    },
                    dataType: 'json',
                    success: function(data) {
                        alert(data);
                        if (data == 'y') {
                            alert('available');
                        }
                        else {
                            alert('no available');
                        }
                    }
                }
            },
            email_address: {
                email: true,
                remote: {
                    type: 'post',
                    url: 'register/is_email_available',
                    data: {
                        'email_address': function() {
                            return $("#email_address").val();
                        }
                    },
                    dataType: 'json',
                    success: function(data) {
                        alert(data);
                        if (data == 'y') {
                            alert('available');
                        }
                        else {
                            alert('no available');
                        }
                    }
                }
            }
        },
        messages: {
            username: {
                remote: 'The username is already in use'
            },
            email_address: {
                remote: 'There is already an account set up that uses that email address!'
            }
        }
    });
});​

1 个答案:

答案 0 :(得分:2)

你的“dataType”不正确..现在你要告诉它获取并使用JSON,另一方面你输出或期望一个字符串或“text”/“html”而不是“json”

将您的dataType更改为html或文本,并查看它是如何做的。

如果你想把它保存在json ..你的php端的输出必须是

{"response":"y"}

并且你成功的javascript必须像

if(data.response == "y")