ExpressJS - 显示网页上的AJAX响应
问题描述:
我正在做用户名可用性。我从一个js文件中获取用户名,并通过AJAX POST调用发送到路由中,并使用输入的用户名检查数据库。数据库逻辑工作正常。我送回来以下列方式将信息传回AJAX调用:ExpressJS - 显示网页上的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()
这也是出于清楚的缘故工作
,这是我的usernam在用户注册文件E场(一.ejs
文件):
<input type="text" name="username" required="required" minlength="6">
<script src="scripts/main.js">
</script>
<%= result %>
任何帮助/协助理解。由于
答
快递
// 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
}
}
}
});
'JSON.stringify'最后'res.end()'也是正确的。 ..?。我修复了这个部分并跑了起来,它没有在页面上显示用户名可用的消息....这是如何回答我的问题的?... – CoderSenju