-2

我试图弄清楚一旦对用户名或电子邮件地址进行了远程函数的回调,如果返回的数据等于“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!'
            }
        }
    });
});​
4

1 回答 1

2

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

将您的 dataType 更改为 html 或 text,然后看看它是怎么做的。

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

{"response":"y"}

并且您成功的javascript必须像

if(data.response == "y")

于 2012-06-13T23:47:46.907 回答