我希望从HTML文档中获取文本框值,并在使用节点JS中的Json文件按下提交按钮时发布这些值

时间:2017-10-10 07:47:55

标签: javascript jquery json node.js

这是我的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')
        })
        });

2 个答案:

答案 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
            };