自从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. [NOIP2007]奖学金

      题目来源:http://www.luogu.org/problem/show?pid=1093# 2007年NOIP全国联赛普及组 [题目描述 Description] 某小学最近得到了一笔赞助, ...

  2. 利用checkinstall制作deb或rpm工具包

    1. 概述 有时候我们向用户提供软件时,并不希望提供源码(虽然这挺狗的...),而是只希望提供一些可执行文件.小程序还好说,可以轻易地提取有用的信息出来. 但对于一些比较庞大的程序,尤其是需要配置文件 ...

  3. ReadingNotes@02-12-2013

    ReadingNotes@02-12-2013 */--> pre { background-color: #2f4f4f;line-height: 1.6; FONT: 10.5pt Cons ...

  4. hdoj 5494 Card Game

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5494 题意:首先一个数t代表测试样例组数  然后两个数n,m 代表数列中有n个数  从中取m个数   ...

  5. selenuim +python环境配置遇到的诸多问题

    自动化测试入门,总结一下安装selenium.python以及配置webdriver遇到的问题: 准备工作: 1.下载火狐浏览器并安装插件selenium IDE.Firebug~~ 2.下载安装py ...

  6. js发起长轮询获取推送消息

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  7. Android Studio 环境配置优化

    一.插件 .ignore: 版本控制忽略文件高亮和补齐ADB Idea: ctrl + Shift + A 查找中添加常用卸载安装app的一些操作,无需命令行Android ButterKnife Z ...

  8. ios 记录支付宝集成遇到的坑及解决方法

    今天项目中要开始动手集成支付宝支付,在此小结一下.(目前新版的支付宝SDK有较大改版,去集成还需要自己去开发平台详细的按照集成步骤来完成https://doc.open.alipay.com/docs ...

  9. 从零开始学C++之数据封装与抽象:分别用C和C++来实现一个链栈

    下面通过分别用C和C++来实现一个链栈(链表实现),从中体会数据封装抽象的思想: C语言实现:  C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  10. [C#] 常用工具类——文件操作类

    /// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在&l ...