我正在进行用户名可用性。我从js文件中获取用户名,并将AJAX POST调用发送到路由并使用输入的用户名检查数据库。 DB逻辑工作正常。我将以下方式将信息发回给AJAX电话:
if(err){
console.log("Error checking username availability...")
}
if(doc && doc._id){
console.log(doc.lastname+ " User aleady Exists")
} else {
res.send({result: "Username Available"})
}
这是具有AJAX POST调用的文件main.js
:
$("input[name='username']").blur(function(){
//enteredUsername = $("input[name='username']").val()
var data={}
data.enteredUsername = $("input[name='username']").val()
alert(data.enteredUsername)
$.ajax({
type: "POST",
url: '/checkUsername',
data: data,
dataType: 'application/json',
success: function(result){
render(result);
}
}
// }).done(function ( result ) {
// alert("ajax callback response:"+JSON.stringify(result));
// })
});
我尝试过不同的方式
1)我在AJAX中尝试了success
函数,但是没有用
2)我使用.done()
尝试了它也没有用
为了清楚起见,这是用户注册文件中的用户名字段(.ejs
文件):
<input type="text" name="username" required="required" minlength="6">
<script src="scripts/main.js">
</script>
<%= result %>
&#13;
任何帮助/协助表示赞赏。感谢
答案 0 :(得分:0)
快速
// Magic
...
if(err){
res.end(JSON.stringify({
error: true
,message: 'Error checking username availability...'
}))
}
if(doc && doc._id){
console.log(doc.lastname+ " User aleady Exists")
} else {
res.end({
error: false
,result: "Username Available"
})
}
前端
// AJAX Maigc
...
$.ajax({
type: "POST",
url: '/checkUsername',
data: data,
dataType: 'application/json',
success: function(result){
if(result.error === false){
// Success
render(result);
}else{
const errorMessage = result.message;
// Work your way
}
}
}
});