一、简介
Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助我们创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站。
二、使用 express模块
1)下载 【express】模块
npm install express

2)新建一个服务器【servers.js】文件
// 引用 express 模块
const express = require('express');
// 建立服务器 server
let server = express();
// 用户信息临时储存在 useData 里
let userData = {'xxl': '528520'}
// server.get('/地址', (req, res) => {}) 是接收前台通过【get】发过过来的参数
// server.post('/地址', (req, res) => {}) 是接收前台通过【post】发过过来的参数
// server.use('/地址',req,res同之前http里的一样)
server.use('/login', (req, res) => {
// use 里有一个query属性,可以直接得到前台发过来的参数,通过req.query获取到对象数据,类似 {name:12, age: 5}
let objUrl = req.query,
userName = objUrl.name,
userPass = objUrl.pass;
console.log(req)
if(userData[userName] === undefined) {
res.send({"ok": false, "msg": "账号不存在"});
} else if(userData[userName] !== userPass) {
res.send({"ok": false, "msg": '密码输入错误'});
} else {
res.send({"ok": true, "msg": "登录成功"});
}
// 同理请求结束都需要 res.end()
res.end()
})
// express.static(文件访问的根路径地址)可以直接获取到文件的内容,和express-static中间介一样的功能,不过现在升级成express.static直接可以访问到。
server.use(express.static('./www'))
// 监听端口
server.listen(8080)
- 引入【ajax.js】,创建客户端页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="ajax.js"></script>
<script type="text/javascript">
window.onload = () => {
let nameNode = document.getElementById('name'),
passNode = document.getElementById('pass'),
loginNode = document.getElementById('loginBtn');
loginNode.onclick = ((e) => {
ajax({
type: 'GET',
url: '/login',
data: {
name: nameNode.value,
pass: passNode.value
},
success: (res) => {
let result = JSON.parse(res);
if(res.ok) {
alert("登录成功");
} else {
alert(`登录失败:${result.msg}`)
}
},
error: (res) => {
alert('通信错误')
}
})
})
}
</script>
</head>
<body>
用户名:<input type="text" id="name" /> </br>
密码:<input type="password" id="pass" /> </br>
<input type="button" value="登录" id="loginBtn">
</body>
</html>
- 打开服务器命令【node server.js】,运行一下
image.png
5) 浏览器打开
image.png
备注:
1、express.use('/路径',(req, res) => {})能同时接收到客户端通过【get】或 【post】传过来的参数。
2、req.query可以直接获取到客户端通过【get】传过来的对象参数,转化成类似{name: 12, age:5}这种对象数据类型,方便我们直接获取各个数据。
3、服务器在分析接口的时候,需要获取对应的文件内容,这时候【 server.use(express.static('./www')) 】不能少。切记!
网友评论