目前在做一个用户登录验证的案例

参考了nodejs的权威指南还有 下载了一些其他案例,都是引用很多模板。对模板完全不熟悉的人表示压力巨大啊

也尝试着自己去写,带有java的惯性思维,我思考这个是不是也有一个类似ajax机制的一个东西,去百度,竟然也找到了。

真是弯路 弯路 再弯路啊

不多说上代码

用到的模板 express 数据库mysql

app.js

//用户校验
    socket.on('JudgeUser', function(nickName) {
    console.log("校验"+nickName);
    var insertSQL = "select * from yr_chart where ?"
    conn.query(insertSQL,{user_name:nickName},function (err1, rows) {
    if(err1){
    console.log("查询失败");
    }
if(rows.length>0){
socket.emit('userExisted');
}else{
  socket.emit('userNotExisted');
}
    })
});

//用户注册
    socket.on('userRegist', function(nickName,password) {
//防止sql注入
conn.escape(nickName);
conn.escape(password);

//判断用户表中有没有该用户
var insertSQL = "select * from yr_chart where ?"
    conn.query(insertSQL,{user_name:nickName},function (err1, rows) {
    if(err1){
    console.log("查询失败");
    }
if(rows.length>0){
socket.emit('userExisted');
}else{

//插入
var insertSQL = "insert into yr_chart SET ?"
conn.query(insertSQL,{user_name:nickName,user_password:password},function (err1, res1) {
if(err1){
console.log("插入失败");
//提示该用户存在
socket.emit('registFail');
}else{
socket.emit('loginSuccess');
//注册成功直接登录
io.sockets.emit('system', nickName, users.length, 'login');
}

});
}
    })

});
    //用户登录
    socket.on('login', function(nickname,password) {
        if (users.indexOf(nickname) > -1) {
            socket.emit('nickExisted');
        } else {
var insertSQL = "select * from yr_chart where user_name = ? and user_password =?"
console.log(nickname);
console.log(password);
conn.query(insertSQL,[nickname,password],function (err1, rows) {
if(err1){
console.log("登录查询失败");
}else{
if(rows.length>0){
socket.userIndex = users.length;
socket.nickname = nickname;
users.push(nickname);
socket.emit('loginSuccess');
io.sockets.emit('system', nickname, users.length, 'login');
console.log("登录查询成功");
}else{
socket.emit('userNotExisted');
 console.log("找不到该用户");
}
}
    })
        };
    });

做用户姓名验证直接发送姓名过去数据库查询就可以了 用不着ajax的

上边的代码不能直接用 你得建立数据库连接才行

nodejs 牛刀小试相关推荐

  1. nodeJS 菜鸟入门

    从一个简单的 HTTP 服务开始旅程-- 创建一个 server.js 文件,写入: //最简单的 http 服务例子 var http = require("http"); ht ...

  2. CentOS6安装nodejs

    Nodejs是JavaScript的一种运行环境,是一个服务端的JavaScript解释器. NPM是Nodejs的包管理器. Nodejs包含npm,所以安装完nodejs后npm默认也被安装. 安 ...

  3. 让我们一起认识一下Nodejs

    Nodejs Nodejs是一个运行在chrome Javascript运行环境下(俗称GoogleV8引擎)的开发平台,用来方便快捷的创建服务器端网络应用程序.可以把它理解为一个轻量级的JSP或PH ...

  4. nodejs 各种插件

    __dirname:全局变量,存储的是文件所在的文件目录 __filename:全局变量,存储的是文件名 代码:dirname.jsconsole.log(__dirname); 运行node dir ...

  5. nodejs pm2使用

    pm2特点 1.简单方便,部署快. 2.解决nodejs单线程缺点 3.完善的日志 pm2安装及使用 1.安装 npm install -g pm2 2.启动 查看版本 pm2 start app.j ...

  6. NodeJS+Mongodb+Express做CMS博客系统

    楼主正在用业余时间开发中-- ,目前的版本仅支持会员系统,尝鲜一下吧~ hi-blog 一个 nodejs+express+mongodb 的 cms 系统 怎么启动 默认你已经安装了 mongodb ...

  7. 简述nodejs、npm及其模块在windows下的安装与配置

    nodejs的安装 登陆官网http://nodejs.org/,自行安装,不需配置环境变量,安装中自动配置了. 检测是否安装成功,使用cmd输入 node -v 即可查看. npm的安装 如果是最新 ...

  8. 关于内网linux系统如果安装nodejs,npm,express,mongodb,forever等

    内网的linux系统要安装nodejs以及express等系列的框架,因为系统是局域网和互联网是物理隔离的,所以,没法像官网的安装教程那样直接install了,只能手动安装,这里已经我们自己的linu ...

  9. windows nodejs mysql_windows server 安装 mysql + nondejs连接mysql

    下载 安装 下载完后,将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\mysql 下. 接下来需要配置下 MySQL 的配置文件 打开刚刚解压的文件夹 C:\mysql ,在该文件夹 ...

  10. php渲染nodejs api,如何使用nodejs 服务器读取HTML文件渲染至前端

    这次给大家带来如何使用nodejs 服务器读取HTML文件渲染至前端,使用nodejs 服务器读取HTML文件渲染至前端的注意事项有哪些,下面就是实战案例,一起来看一下. 1.分别简单实现三个备用页面 ...

最新文章

  1. openfire插件开发的四种方式
  2. 2017年深度学习优化算法最新进展:改进SGD和Adam方法
  3. OpenCV准密集立体声Quasi dense Stereo
  4. Backup Exec for Windows Servers (BEWS) 简体中文文档汇总(持续更新)
  5. xstream不映射字段_这本XStream学习手册,真的不来看看?
  6. NUS 联合 Sea AI Lab 发表 Multi-view Pose Transformer,完全端到端学习,超强可扩展性...
  7. 桥接模式 - 设计模式学习
  8. 错误整理:No plugin found for prefix 'jetty' in the current project and in the plugin groups
  9. 解决数据库导入导出的常见问题集解决办法
  10. 你不知道的接口测试之简单的开始
  11. JSP技术-01-语法及运行原理
  12. Silverligth out of browser OOB应用安装卸载说明
  13. 海康威视提前批-大数据算法工程师面试
  14. plupload上传图片时浏览器自动旋转图片导致的bug修正
  15. Android device monitor
  16. java高德地图api开发平台_示例中心
  17. QDockWidget增加边框
  18. Lecture05:随机市场出清
  19. 李彦宏对话大学生:走出直线人生
  20. 【云原生进阶之容器】第二章Controller Manager原理2.8节--Resync机制

热门文章

  1. Python爬英雄联盟lol全英雄皮肤
  2. java求100以内的素数
  3. RK3399 Thermal (温度控制)
  4. 阿里网盘rar再打包分享工具
  5. 新浪微博 redis mysql_新浪微博:史上最大的Redis集群
  6. 个人整理的免费的Bootstrap模板
  7. 台式计算机如何自动开关机,联想电脑怎么设置定时开机|联想台式机自动开机设置方法...
  8. 唐魏巍,天冷了,你妈妈叫你回家加衣服
  9. [我读]十四堂人生创意课
  10. 阿里云游戏服务器攻击怎么防御?