基于 Node.js 平台 Web 开发框架 express 学习
一。express
1.准备工作 创建express文件夹 打开终端 安装node npm
2.开始 创建package.json *(npm install)
3.导入express包(npm install express)
4.创建main.js文件 根文件
5. main.js 引入 const express = require("express")
6.并创建web服务器 const app = express()
7.并使用服务器名.listen()方法启动服务器
app.listen(3000, () => { console.log("服务器启动于http://127.0.0.1:3000"); })
#main.js 代码示例
const express = require(express) const app = express() app.listen(3000, (err) => { if(!err) { console.log(服务器已启动 端口号3000:::) console.log(http://127.0.0.1:3000) } })
#当前目录图
#试运行 main.js (node ./main.js)运行成功示意图
二。
1.创建api 提供ajax 请求地址 (res 是成功后的回调函数)
1.0 首先处理跨域问题 跨域(不同协议 不同域名 不同端口 )
1.使用cors跨域处理 安装cors (npm install cors)
并在main.js引入
const cors = require(cors); app.use(cors());
2. 全局 中间件 解决所有路由的 跨域问题 main.js
app.all(*,function (req,res,next) { res.header(Access-Control-Allow-Origin,*) res.header(Access-Control-Allow-Headers,X-Requested-With,Content-Type) res.header(Access-Control-Allow-Methods,GET,POST,OPTIONS) next() })
1.1 get 请求
main.js
app.get(/hello, (req, res) => { //获取参数req.query res.send(hello world) //响应数据给客户端 })
ajax (axios示例)
axios.get(http://127.0.0.1:3000/hello).then(res => { console.log(res) })
1.2 post 请求
post接收参数需要使用解析中间件 body-parser (npm install body-parser)
const bodyParser = require(body-parser) // parse application/x-www-form-urlencoded app.use(bodyParser.urlencoded({ extended: false })) // parse application/json app.use(bodyParser.json())
main.js
app.post(/login, (req, res) => { // res 是成功后的回调函数 // 获取参数 console.log(req.body) res.send(hello world) // res.send({ // Status:200, // msg: success, // data: { // code: 200, // data: { // }, // message: success // }, // }) })
ajax (axios示例)
axios.post(http://127.0.0.1:3000/login, {name: wk}).then(res => { console.log(res) })
接口获取request参数的三种方式
console.log(req.query) console.log(req.params) console.log(req.body)
1.3获取请求头数据
main.js
app.post(/login, (req, res) => { console.log(req.headers) res.send(hello world) }) //请求头数据req.headers
ajax (axios示例)
axios.post(http://127.0.0.1:3000/login, data, { headers: { timestamp:timestamp, sign:sign, token: }}).then(res => { console.log(res) })
res.send() 设置返回数据
上一篇:
Java架构师技术进阶路线图