脚本宝典收集整理的这篇文章主要介绍了基于 Express 写接口,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
创建一个index.js文件
const exPress=require('exPRess')
const app=express()
app.listen(3000,()=>{
console.LOG('running......')
})
新建一个router.js文件
const express = require('express')
const router=express.router()
//在这里挂载路由
module.exports=router
const router=require('./router.js')
//把路由模块,注册到app上
app.use('./api',router)
const express = require('express')
const router=express.router()
//在这里挂载路由
router.get('/',(req,res)=>{
//通过req.query获取客户端通过查询字符串发送到服务器的数据
const query=req.query;
//调用res.send()方法,向客户端响应处理的结果
res.send({
status:0,
msg:'GET 请求成功',
data:query
})
})
module.exports=router
注意F1a;如果要获取 URL-encoded 格式的请求体数据,必须配置中间件 app.use(express.urlencoded({ extended: false }))
// 配置解析表单数据的中间件
app.use(express.urlencoded({ extended: false }))
router.post('/',(req,res)=>{
// 通过 req.body 获取请求题中包含的 url-encoded 格式的数据
const query=req.query;
//调用res.send()方法,向客户端响应处理的结果
res.send({
status:0,
msg:'POST 请求成功',
data:query
})
})
用来测试接口
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, inITial-scale=1.0">
<title>Document</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
</head>
<body>
<button class="BTn1">get</button>
<button class="btn2">post</button>
<script>
$(function () {
$('.btn1').click(function () {
$.ajax({
url: 'http://127.0.0.1:3000/api/Book?name=tom&age=10',
success: function (data) {
console.log(data)
}
})
})
$('.btn2').click(function () {
$.ajax({
url: 'http://127.0.0.1:3000/api/book',
method: 'post',
data: {
name: '雪中悍刀行',
author: '烽火戏诸侯'
},
success: function (data) {
console.log(data)
}
})
})
})
</script>
</body>
</html>
我们在浏览器中打开或看到报错:
这是接口的跨域问题
到目前为止,我们编写的 GET
和 POST
接口,存在一个很严重的问题:不支持跨域请求
解决接口跨域问题的方案主要有两种
cors 是 Express 的一个第三方中间件。通过安装和配置 cors 中间件,可以很方便地解决跨域问题
使用步骤:
安装中间件: npm install cors
导入中间件: const cors = require('cors')
配置中间件: 在路由之前调用app.use(cors())
// 导入中间件
const cors = require('cors')
// 配置中间件
app.use(cors())
配置 cors
插件后:
以上是脚本宝典为你收集整理的基于 Express 写接口全部内容,希望文章能够帮你解决基于 Express 写接口所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。