这是我的JS档案: -
$(document).ready(function(){
$('form').on('submit', function(){
var email = $("form input[type=text][name=emails]").val();
var todo = {email: email.val(),
pass:dat.val()};
$.ajax({
type: 'POST',
url: '/project',
data: todo,
success: function(data){
//do something with the data via front-end framework
location.reload();
}
});
return false;
});
});
这是我的html文档: -
<html>
<head>
<script src="https://code.jquery.com/jquery-3.2.1.js"></script>
<script src="/assests/todo-list.js"></script>
<body>
<form>
<div class="container">
<label><b>Email</b></label>
<input type="text" placeholder="Enter Email" name="emails" required>
<label><b>Password</b></label>
<input type="password" placeholder="Enter Password" name="psw" required>
<button type="submit" class="signupbtn">Sign Up</button>
</div>
</div>
</form>
</body>
</head>
</html>
我希望当我单击两个文本框中的提交按钮值时,会保存在我的数据库中(使用Mlab),因为我正在使用json文件向服务器发送请求。
我的主要帖子请求处理程序: -
app.post('/project',parser,function(req,res)
{
var register=Todo(req.body).save(function(err,data)
{
if(err) throw err
res.json(data);
});
});
编辑: -
我删除了我的Javascript文件,现在我直接发布表单,我可以保存我的电子邮件地址,但不能保存密码。
这是我现在的主要代码: -
app.post('/views/register',parser,function(req,res)
{
var data={
email:req.body.emails,
password:req.body.passcode
};
var send=Todo(data).save(function(err)
{
if(err) throw err
res.render('login')
})
});
答案 0 :(得分:0)
如果我理解你的问题,你就错过了contentType
param。
$.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
...
然后再试一次。
答案 1 :(得分:0)
创建对象时,我没有遵循数据库的正确架构
var data={
email:req.body.emails,
password:req.body.passcode
};
该属性名称已通过,我使用的密码是为什么它没有插入密码。
var data={
email:req.body.emails,
pass:req.body.passcode
};