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使用unlock.js插件实现滑动解锁
Apr 04 jQuery
jQuery用noConflict代替$的实现方法
Apr 12 jQuery
[原创]jQuery实现合并/追加数组并去除重复项的方法
Apr 11 jQuery
jquery实现搜索框功能实例详解
Jul 23 jQuery
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
Jul 25 jQuery
jquery 动态遍历select 赋值的实例
Sep 12 jQuery
jQuery控制input只能输入数字和两位小数的方法
May 16 jQuery
jquery.pager.js分页实现详解
Jul 29 jQuery
jQuery实现checkbox全选、反选及删除等操作的方法详解
Aug 02 jQuery
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
jquery实现烟花效果(面向对象)
Mar 10 jQuery
jQuery实现的分页插件完整示例
May 26 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
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
Thinkphp5.0 框架Model模型简单用法分析
2019/10/11 PHP
JS启动应用程序的一个简单例子
2008/05/11 Javascript
JavaScript Tips 使用DocumentFragment加快DOM渲染速度
2010/06/28 Javascript
javascript设置金额样式转换保留两位小数示例代码
2013/12/04 Javascript
jquery操作select详解(取值,设置选中)
2014/02/07 Javascript
javascript实现复制与粘贴操作实例
2014/10/16 Javascript
Jquery操作Ajax方法小结
2015/11/29 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
2016/07/12 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
BootStrap 页签切换失效的解决方法
2017/08/17 Javascript
Bootstrap Tooltip显示换行和左对齐的解决方案
2017/10/11 Javascript
基于rollup的组件库打包体积优化小结
2018/06/18 Javascript
详解JavaScript的内存空间、赋值和深浅拷贝
2019/04/17 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
2020/09/07 Javascript
nodejs中使用worker_threads来创建新的线程的方法
2021/01/22 NodeJs
[01:00:25]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS Liquid
2018/03/31 DOTA
[41:52]2018DOTA2亚洲邀请赛3月29日 小组赛A组 TNC VS OpTic
2018/03/30 DOTA
在Python中操作时间之strptime()方法的使用
2020/12/30 Python
python中的闭包函数
2018/02/09 Python
python3.7.0的安装步骤
2018/08/27 Python
Python selenium模拟手动操作实现无人值守刷积分功能
2020/05/13 Python
python中pickle模块浅析
2020/12/29 Python
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
2016/02/27 HTML / CSS
实例讲解HTML5的meta标签的一些应用
2015/12/08 HTML / CSS
英国领先的露营和露营车品牌之一:OLPRO
2019/08/06 全球购物
学雷锋志愿者活动总结
2014/06/27 职场文书
安全标兵事迹材料
2014/08/17 职场文书
小学教研工作总结2015
2015/05/13 职场文书
家长通知书家长意见
2015/06/03 职场文书
消防演习感想
2015/08/10 职场文书
《司马光》教学反思
2016/02/22 职场文书
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python
MySQL分区表实现按月份归类
2021/11/01 MySQL
python编程学习使用管道Pipe编写优化代码
2021/11/20 Python