node.js后台jquery前台-- 实现用户注册AJAX交互

1.login.js实现form框架

<form >

  <ul>

    <li><p>用户名</p></li>

    <li><input type="text" name="username" id="username"></li>

  </ul>

  <ul>

     <li><p>密码</p></li>

     <li><input type="password" name="password" id="password"></li>

   </ul>

   <ul class="mt50">

    <li><input id="login_submit" class="submit" type="button" value="登 陆"></li>

  </ul>

</form>

2.js实现request的发送

$("#login_submit").click(function(){

   var username=$('#username').val();

  var password=$('#password').val(); //这里实现对 username和password格式的判断

  //发送ajax请求 使用post方式发送json字符串给后台login

  $.ajax({

     type: "post",

    url: "http://localhost:3000/login",

    dataType: "json",

    data:{ username: username, password: password },

    success: function(data){

       //接受返回的数据,前端判断采取的动作

       if(data){

         if(data.message=="false"){

          alert('密码错误,请重新输入');

          window.location.href="login";

        }else{

          alert('登陆成功');

          window.location.href="index"; }

      } else{ }

     }

  });

});

3.后台接收

/** * 注册页 post */

  router.post('/reg', function (req, res, next) {

     //先查询有没有这个user

    console.log("req.body"+req.body);

       user2.findDocuments(DATABASE, "users", 1, {"uName":req.body.username}, function (user) {

      res.setHeader('Content-Type', 'application/json;charset=utf-8');

      if(user.length==0){

        //用户名没有重复 同意创建用户

        user2.insertDocuments(DATABASE, "users", [{

           "uName":req.body.username,

           "uPasswd":req.body.password,

           "uEmail":req.body.email,

           "uHasshop":0,

           "uShopname":"null",

           "aId":'-1' }],

          function (result){

             res.send({status:"success", message:"true"});

           } );

       } else{

         // 用户名重复。找到这个user 不同意创建用户

        res.send({status:"success", message:"false"});

       }

     });

   });

posted @ 2017-12-21 13:41  pyj063  阅读(506)  评论(0编辑  收藏  举报