node+ajax+mysql实现登录注册
简介本人是前端小白,前辈有段时间向我推荐了这个社区。但是总觉得自己水平太低,一直没写上去。最近开始学习nodejs,所以做了一个demo分享给大家。第一次写,还望有不足之处。注册html的基本表单html代码就不详细说了,这不是重点,直接上传代码:registration
Register 注册js这里的js主要是用到了jquery,不会jquery的可以先学学。jquery使用ajax很方便。这里将用户名、昵称、密码三个参数以get的形式传递给后台。在url中写上和后台协商的地址,然后是成功和失败的回调函数。你觉得对于经常使用ajax的人来说很常见吗?是的,这样写什么背景语言都无所谓。$("#register").click(function(){$.ajax({url:"/regist",type:"GET",data:{username:$("#email-two").val(),nickname:$("#nikename").val(),password:$("#password-two").val()},success:function(data){//alert后台返回值alert(data);},错误:function(){alert('访问失败');}});});注册节点这里我使用的是nodejs的express框架。这个框架非常容易上手,非常适合我们这样的新手。如果想直接使用这里的代码,肯定会报错。你需要用npm安装express和mysql。当然,至于mysql,需要在本地安装mysql。如果你对mysql一知半解,那么你应该先了解一下mysql。其实也可以用nodejs向文件写入数据,就不需要mysql了。对于其他人,请参阅代码注释。varexpress=require("快递");//导入expressvarevents=require('events');varemitter=newevents.EventEmitter();//创建监听器对象(也可以直接返回值,不要用这个)varapp=express();varpath=require("path");varmysql=require("mysql");//导入mysqlvardirname=__dirname;//指向当前js路径app.use(express.static(path.join(__dirname,'project')));//这里可以直接访问你的静态文件,比如你的index.html/*----registration---*/app.get("/regist",function(req,res){//获取路径get请求,并从前台获取参数//创建数据库连接varconnection=mysql.createConnection({host:"localhost",user:"root",password:"yourpassword",database:"node"});//连接数据库connection.connect();//监听返回参数emitter.on("ok",function(){returnres.end("注册成功");//返回数据给foreground});emitter.on("false",function(){returnres.end("usernamealreadyexists");//返回数据到前台});varsql="insertintouser(username,password,nickname)values(?,?,?)";//向user表写入数据varsqlValue=[req.query.username,req.query.password,req.query.nickname];connection.query(sql,sqlValue,function(err){//执行sql语句if(err){console.log(err.message);//输出数据库错误信息emitter.emit("false");//返回失败}emitter.emit("ok");//返回成功});连接结束();//关闭数据库});app.listen(8081);//设置请求的端口号,可以在本地访问localhost://8081(随便写一个未占用的端口)登录html也是一个简单的表单内容,直接上传代码:
登录