【发布时间】:2020-08-31 15:21:59
【问题描述】:
我需要检查用户输入的令牌是否存在,
我的节点 js 控制器:
const checktoken = async (req, res) => {
const token = req.body.token
User.findOne({'token': token }).then((user) => {
if (user) {
return res.end("GOOOOD");
}
return res.end("Baad");
})
.catch((err) => console.log(err))
}
Ajax 方面:
$(document).ready(function(){
$('#form').submit(function (e) {
// e.preventDefault()
$.ajax({
type: 'POST',
url: '/api/token/'
})
.done(function(data) {
alert(data)
})
.fail(function(xhr, status, error) {
console.log("Errrrrrr " + error);
})
.always(function(data){
});
})
})
html 表单:
<form class="form-inline search-form" action ="/api/token" method="POST" id="form">
<div class="form-group label-floating">
<input name ="token" id="token" >
</div>
<button id="subBut" type ="submit"> Verify </button>
</form>
问题是我总是得到一个警报(BAD token),无论何时是好的,然后以文本格式打印另一页,结果很好
例如,如果我放好令牌:警报是坏令牌,然后打印另一个页面:好令牌(这意味着节点的结果是好的)AJAX 的问题
【问题讨论】:
-
req.body中有什么内容?我没有看到您发送令牌的任何地方。另外,你在使用 bodyparser 吗? -
假设您使用的是 express,文档会说
If you need to respond with data, instead use methods such as res.send() and res.json().
标签: javascript jquery node.js json ajax