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 相关文章推荐
HTML5+jQuery实现搜索智能匹配功能
Mar 24 jQuery
为Jquery EasyUI 组件加上清除功能的方法(详解)
Apr 13 jQuery
jQuery实现按比例缩放图片的方法
Apr 29 jQuery
jquery处理checkbox(复选框)是否被选中实例代码
Jun 12 jQuery
jQuery+ajax实现修改密码验证功能实例详解
Jul 06 jQuery
jQuery实现QQ空间汉字转拼音功能示例
Jul 10 jQuery
jquery插件开发之选项卡制作详解
Aug 30 jQuery
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
Sep 23 jQuery
jQuery 同时获取多个标签的指定内容并储存为数组
Nov 20 jQuery
jQuery实现的自定义轮播图功能详解
Dec 28 jQuery
基于jQuery的时间戳与日期间的转化
Jun 21 jQuery
jQuery实现动态向上滚动
Dec 21 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
使用array_map简单搞定PHP删除文件、删除目录
2014/10/29 PHP
PHP实现文件上传与下载实例与总结
2016/03/13 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
php实现的简单多进程服务器类完整示例
2020/02/01 PHP
广告显示判断
2006/08/31 Javascript
javascript 必知必会之closure
2009/09/21 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
javascript中call apply 的应用场景
2015/04/16 Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
2015/09/09 Javascript
html判断当前页面是否在iframe中的实例
2016/11/30 Javascript
js实现简单的选项卡效果
2017/02/23 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
vue 父组件调用子组件方法及事件
2018/03/29 Javascript
nodejs之koa2请求示例(GET,POST)
2018/08/07 NodeJs
在vue中利用全局路由钩子给url统一添加公共参数的例子
2019/11/01 Javascript
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
2020/03/20 jQuery
JS判断数组是否包含某元素实现方法汇总
2020/06/24 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访-EG篇
2018/04/03 DOTA
python中实现精确的浮点数运算详解
2017/11/02 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
numpy中的高维数组转置实例
2018/04/17 Python
Python argparse模块使用方法解析
2020/02/20 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
CSS3图片旋转特效(360/60/-360度)
2013/10/10 HTML / CSS
全世界最美丽的四星和五星级酒店预订:Prestigia.com
2017/11/15 全球购物
佳能加拿大网上商店:Canon eStore Canada
2018/04/04 全球购物
final, finally, finalize的区别
2012/03/01 面试题
竞争上岗演讲稿
2014/01/05 职场文书
毕业自我评价
2014/02/05 职场文书
党员承诺书内容
2014/03/26 职场文书
爱国卫生月活动总结范文
2014/04/25 职场文书
公安机关党的群众路线教育实践活动剖析材料
2014/10/10 职场文书
大学班长竞选稿
2015/11/20 职场文书
2016年六一儿童节开幕词
2016/03/04 职场文书
springboot如何接收application/x-www-form-urlencoded类型的请求
2021/11/02 Java/Android
选购到合适的激光打印机
2022/04/21 数码科技