《node学习--第七篇》使用express框架实现登录

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

所有源码都在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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值