所有源码都在githubhttps://github.com/samdidemo/nodejs
由于现在我们还没进行数据库的连接,所以数据我用json来存储
为了演示简单,我就不使用表单post提交了,使用简单点的get请求
代码如下
使用express框架实现登录
const express=require('express')
var server=express()
var users={'zhangsan':'12345','lisi':12345,'wangwu':12345}
server.get('/login',function(req,res){
var user=req.query['user']
var password=req.query['password']
console.log(user,password)
if(users[user]==null){
res.send({'ok':false,'msg':'不存在这个用户'})
}else if(users[user]!=password){
res.send({'ok':false,'msg':'密码错误'})
}else{
res.send({'ok':true,'msg':'登录成功'})
}
})
server.listen(8080)
比如请求地址为http://localhost:8080/login?user=lin&password=12345
会提示不存在此用户
上面演示的是get请求,可以直接通过req.query获取里面的参数
但是,如果是post请求的话,通过这种方式是获取不到的
获取post请求的参数(使用body-parser)
要获取post的参数,需要添加一个中间件,即body-parser
我们在文件所在目录下,npm install body-parser
server.js的代码如下
const bodyParser=require('body-parser')
const express=require('express')
var server=express()
//get方式
server.get('/user/login',function(req,res){
var username=req.query['username']
var password=req.query['password']
res.send({username:username,password:password})
})
//加入中间件
server.use(bodyParser.urlencoded({}))
//post方式
server.post('/user/login',function(req,res){
console.log(req.body)
if(users[user]==null){
res.send({'ok':false,'msg':'不存在这个用户'})
}else if(users[user]!=password){
res.send({'ok':false,'msg':'密码错误'})
}else{
res.send({'ok':true,'msg':'登录成功'})
}
})
server.listen(8080)
运行server.js

点击登录,可以看到登录成功

本文介绍如何使用Node.js和Express框架实现简单的登录系统,包括GET和POST请求处理,以及使用body-parser中间件解析POST请求参数。
692

被折叠的 条评论
为什么被折叠?



