自从node-js出现之后,不只是java,php等后端语言可以操作数据库,进行内容的增删改查,javascript简本语言同样具备了该项技能,而且在node下,js具备了很强的操作性和代码的阅读性,让晦涩难懂的代码变得更加的清晰了,下面我简单介绍javascript如何操作数据库进行登录注册功能的实现。

首先,页面部分就直接省略了,我们默认已经安装数据库了,开始从注登录说起。


exports.login =function(req,res){
var username=req.body.uname;
var pwd=req.body.psd;
var sql="select * from student where username=? and password=?";
var con=dbcon.getCon();
con.query(sql,[username,pwd], function (err,result) {
if(!err){
if(result.length==0){
res.json(0);
}else{
res.json(1)
}
}else{
console.log(err)
}
con.destroy()
})
};

首先,点击登录按钮,我们跳转到登录页面,通过获取到用户输入的input值,通过下标的方法取得输入的username和pwd的值,通过连接数据库,判断回调函数返回的状态值,如果成功,给予提示用户注册成功,紧接着进行页面的跳转,如果出现异常,给出提示,并相应的跳转到错误页面,在此处我们可以使用try{}catch(){}方法进行拦截,打印出具体的错误信息。

紧接着,我们再来讲一下注册的操作,顾名思义,注册就是将原本不存在于数据库的用户资料通过数据库的insert语句插入数据库中,道理和登录有些类似,首先,我们需要输入需要注册的信息,然后获取到这些信息,然后再发送一个异步请求验证数据库是否有这些资料,如果没有的话就直接创建这些资料。下面我们使用代码来说明这些原理。

 
exports.regists=function(req,res,name,password){
var sql="insert into stuinfo(name,password) values(?,?)"
conn.query(sql,[name,password],function(err,result){
if(result.affectedRows==1){
req.session.name=name;
res.sendfile('./public/view.html')
}
})
}
exports.login=login;


首先,我们将注册这个方法进行封装,然后通过node的exports进行导出,便于被调用,在这个方法里面,通过占位符的方法插入username和password,然后通过数据库,将获取的参数值进行插入,通过回调函数状态码的判断,确认插入成功,并在成功之后将我们注册成功的session显示在页面作为标识。

以上就是js简单的登录注册的代码,其中涉及到的知识点不只是上述提到的,还包括了数据库的基本知识,了解基本的sql查询语句,并能通过js成功连接数据库。我们始终相信万丈高楼平地起,只要去哦们一步一个脚印,总有一天,可以成为自己乃至别人眼中的高手。

js操作数据库实现注册和登陆的更多相关文章

  1. node.js操作数据库之MongoDB+mongoose篇

    前言 node.js的出现,使得用前端语法(javascript)开发后台服务成为可能,越来越多的前端因此因此接触后端,甚至转向全栈发展.后端开发少不了数据库的操作.MongoDB是一个基于分布式文件 ...

  2. 使用navicat for mysql图形界面操作数据库、使用node.js操作数据库写接口

    1.先启动MYSQL服务 2.打开navicat for mysql, 点击链接,输入如下的内容: 3.新建数据表 4.数据库(新建一个db.js) //数据库链接配置 module.exports ...

  3. node.js操作数据库

    var sys = require('sys'); var Client = require('mysql').Client; var client = new Client(); client.us ...

  4. Async.js解决Node.js操作MySQL的回调大坑

    因为JavaScript语言异步特性.在使用Node.js运行非常多操作时都会使用到回调函数,当中就包含訪问数据库.假设代码中的业务逻辑略微复杂一点,回调一层层嵌套.那么代码非常easy进入Callb ...

  5. [荐]使用Js操作注册表

    使用Js操作注册表 要操作注册表需要通过ActiveX控件调用WScript.shell对象,通过该对象的一些方法来操作. WshShell对象:可以在本地运行程序.操纵注册表内容.创建快捷方式或访问 ...

  6. 使用node js 操作 Mysql 数据库

    使用node js 操作 Mysql 数据库 http://www.nodejs.org/ //node js 数据库操作 MySQL //使用https://github.com/felixge/n ...

  7. jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行?

    jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行? 因为在解析时最新解析的就是JA ...

  8. 分步引导中,Js操作Cookie,实现判断用户是否第一次登陆网站

    上一篇介绍了分布引导插件IntroJs的使用,本篇介绍通过Js操作cookie的方法. 分步引导的功能只适合与第一次登陆网站的新用户,不能每次登陆都提示分布引导,那么如何判断用户是否第一次登录网站呢? ...

  9. Electron中使用sql.js操作SQLite数据库

    推荐sql.js——一款纯js的sqlite工具. 一.关于sql.js sql.js(https://github.com/kripken/sql.js)通过使用Emscripten编译SQLite ...

随机推荐

  1. Oracle Statspack报告中各项指标含义详解~~学习性能必看!!!

    Oracle Statspack报告中各项指标含义详解~~学习性能必看!!! Data Buffer Hit Ratio#<#90# 数据块在数据缓冲区中的命中率,通常应该在90%以上,否则考虑 ...

  2. 【原】关于IPcamera几个问题的思考

    安全性: 1.RTSP连接的权限管理. 2.视频加密(一般采用选择性加密算法,如对运动矢量,量化参数等进行加密.) 3.数字水印技术(用于版权等认证) 稳定性: 1.mobileIP 是用来进行丢包模 ...

  3. LRU 缓冲池 (不考虑多线程)

    lru:(转)LRU算法的实现 什么是LRU算法? LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的.关于操作系统的内存管理,如何节省利用容 ...

  4. glsl-BufferObject- change

    修改其值的最快方式: 创建: Mutable Storage To create mutable storage for a buffer object, you use this API: void ...

  5. java基础(十七)集合(四)

    这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是 ...

  6. Duff in Love - 588B(素数的判断)

    题目大意:如果一个数的所有因子都不是别的数的平方,那么这个数就是lovely数,现在给定一个数,求出这个数所有因子里面最大的lovely数 分析:很有意思的一道题,如果把这个数因子分解成最基本的苏因子 ...

  7. freemarke之TemplateDirectiveModel详解

    http://hougbin.iteye.com/blog/1457924 TemplateDirectiveModel接口是freemarker自定标签或者自定义指令的核心处理接口.通过实现该接口, ...

  8. ASP.NET多线程下使用HttpContext.Current为null解决方案

    多线程或者异步调用中如何访问HttpContext? 前面我还提到在APM模式下的异步完成回调时,访问HttpContext.Current也会返回null,那么此时该怎么办呢? 答案有二种:1. 在 ...

  9. Win8控制面板快捷键

    Win8系统相比我们已经熟悉的Win7与XP系统有着一些特殊的变化,导致很多初次使用Win8系统的朋友感觉有点吃力,随着Win8系统即将于几天后正式发布,下面本文与大家分享大家比较关心的Win8控制面 ...

  10. 用高德地图API 通过详细地址获得经纬度

    http://cloud.sinyway.com/Service/amap.html http://restapi.amap.com/v3/geocode/geo?key=xxxxxxxxxxxxxx ...