node.js+jQuery实现用户登录注册AJAX交互


Posted in jQuery onApril 28, 2017

最近实现了Node.js当作后台,jQuery写前台AJAX代码的,实现用户登录和注册的功能,刷新了前后端交互的三观。特记录一下。

1.login.ejs实现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>

form不加method,意图自己用ajax发送请求。

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{
      }
    }
  });
});

2.后台接收

/**
 * 注册页 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"});
    }
  });
});

注册页面跟登陆页面类似。不再赘述。

总之呢,之前老是觉得自己浏览器访问的页面是前端的东西。后端是一个虚无缥缈的一堆代码。现在明白其实访问的所有的url都是属于后端的。后端发送什么内容,浏览器就显示什么内容。前端的显示只是一时半刻,后端的资源才是永久哒。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

jQuery 相关文章推荐
jquery实现图片平滑滚动详解
Mar 22 jQuery
jQuery自定义图片上传插件实例代码
Apr 04 jQuery
Jquery-data的三种用法
Apr 18 jQuery
jQuery实现div跟随鼠标移动
Aug 20 jQuery
jQuery Masonry瀑布流布局神器使用详解
May 25 jQuery
使用jQuery实现页面定时弹出广告效果
Aug 24 jQuery
jQuery插件实现弹性运动完整示例
Jul 07 jQuery
JS与jQuery判断文本框还剩多少字符可以输入的方法
Sep 01 jQuery
jquery.param()实现数组或对象的序列化方法
Oct 08 jQuery
jquery.pager.js分页实现详解
Jul 29 jQuery
jQuery轮播图功能制作方法详解
Dec 03 jQuery
jQuery实现高度灵活的表单验证功能示例【无UI】
Apr 30 jQuery
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
Apr 28 #jQuery
jquery实现图片上传前本地预览
Apr 28 #jQuery
jQuery实现jQuery-form.js实现异步上传文件
Apr 28 #jQuery
jQuery tip提示插件(实例分享)
Apr 28 #jQuery
jQuery自定义元素右键点击事件(实现案例)
Apr 28 #jQuery
jQuery实现动态添加、删除按钮及input输入框的方法
Apr 27 #jQuery
jquery ui sortable拖拽后保存位置
Apr 27 #jQuery
You might like
星际玩家的三大定律
2020/03/04 星际争霸
PHP+JS+rsa数据加密传输实现代码
2011/03/23 PHP
PHP简单实现文本计数器的方法
2016/04/28 PHP
PHP PDOStatement::columnCount讲解
2019/01/30 PHP
学习YUI.Ext第五日--做拖放Darg&amp;Drop
2007/03/10 Javascript
jquery each()源代码
2011/02/14 Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
2011/08/02 Javascript
javascript开发随笔一 preventDefault的必要
2011/11/25 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
jquery实现的鼠标拖动排序Li或Table
2014/05/04 Javascript
Jquery的each里用return true或false代替break或continue
2014/05/21 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
JS控制表格实现一条光线流动分割行的方法
2015/03/09 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
JS组件Bootstrap Table布局详解
2016/05/27 Javascript
AngularJS $injector 依赖注入详解
2016/09/14 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
Angularjs的Controller间通信机制实例分析
2016/11/07 Javascript
基于 Vue 的树形选择组件的示例代码
2017/08/18 Javascript
javascript按顺序加载运行js方法
2017/12/01 Javascript
Vue 中使用vue2-highcharts实现top功能的示例
2018/03/05 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
JavaScript实现多文件下载方法解析
2020/08/07 Javascript
Python 模拟购物车的实例讲解
2017/09/11 Python
python读取文本中的坐标方法
2018/10/14 Python
用Python编写一个简单的CS架构后门的方法
2018/11/20 Python
测绘工程个人的自我评价
2013/11/23 职场文书
酒店副总经理岗位职责范本
2014/02/04 职场文书
初中生操行评语大全
2014/04/24 职场文书
小学生保护环境倡议书
2014/05/15 职场文书
幼儿园教师节感谢信
2015/01/23 职场文书
学雷锋团日活动总结
2015/05/06 职场文书
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js
php 文件上传至OSS及删除远程阿里云OSS文件
2021/07/04 PHP