我试图找出对用户名或电子邮件地址进行远程功能的回调,如果返回的数据等于“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!'
}
}
});
});
答案 0 :(得分:2)
你的“dataType”不正确..现在你要告诉它获取并使用JSON,另一方面你输出或期望一个字符串或“text”/“html”而不是“json”
将您的dataType更改为html或文本,并查看它是如何做的。
如果你想把它保存在json ..你的php端的输出必须是
{"response":"y"}
并且你成功的javascript必须像
if(data.response == "y")