我有这个登录表单,我在其中进行服务器端验证,现在我正在尝试进行jQuery验证。
表格摘要:
Login
jQuery片段:(我使用bootstrap' login.js)
submitHandler: function (form) {
var un = $('#usernameEmail').val();
var p = $('#pass').val();
$.ajax({
url: '/admin/checkIfUsernameOrEmailExists',
type: 'POST',
data: {un: un, pass: p},
success: function(data){
form.submit();
},
error: function(data){
alert("Error");
}
});
}
函数checkIfUsernameOrEmailExists工作正常。我在成功函数上做console.log(data)(因为它总是触发),当它必须为假时数据为假,而当必须为真时,数据为真。因此,鉴于这种情况,我对错误的位置感到困惑。
修改
我以前试过这个没有成功,现在我肯定知道理论上它是正确的,因为Ramesh和Keune建议......但仍然没有用,也许我有些不对劲并且不要实现?没有显示错误,没有登录console.log并且没有显示警报。
submitHandler: function (form) {
var un = $('#usernameEmail').val();
var p = $('#pass').val();
$.ajax({
url: '/admin/checkIfUsernameOrEmailExists',
type: 'POST',
data: {un: un, pass: p},
success: function(data){
if (data) {
form.submit()
}else{
// console.log(data);
alert(data);
};
},
error: function(data){
alert("Error");
}
});
}
解
正如Blurfus所说,我错过了""因此,在内部成功函数中,数据比较应该是一个字符串:
success: function(data){
if (data == "true") {
form.submit()
}else{
alert(data);
};
},