本文主要是介绍node - koa 获取 Content-Type: text/plain 的数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 1,Content-Type
- 2,koa 获取请求的数据
1,Content-Type
Content-Type HTTP 标头用于设置资源的类型,常用的有3个:
- application/json
- application/x-www-form-urlencoded,form 表单提交的格式。
- multipart/form-data,用于上传,
- text/plain
2,koa 获取请求的数据
一般情况下,都会使用 koa-bodyparser 来解析 post 请求的数据:
const Koa = require("koa");
const Router = require("koa-router");
const { bodyParser } = require("@koa/bodyparser");const app = new Koa();
const router = new Router();router.post("/api/login", (ctx) => {console.log(ctx.request.body);const { name, pwd } = ctx.request.body;if (name === "下雪天的夏风" && pwd === "123") {ctx.body = "登录成功";} else {ctx.body = {code: 500,msg: "用户名或密码错误",};}
});app.use(bodyParser()).use(router.routes());
app.listen(3001);
默认情况下,koa-bodyparser 会解析 application/json
和 application/x-www-form-urlencoded
这2种格式。这是因为配置项 enableTypes 默认为:['json', 'form']
。
所以修改该配置项即可:
app.use(bodyParser({enableTypes: ["json", "form", "text"],})).use(router.routes());
app.listen(3001);
注意:
- 如果请求头中
Content-Type: text/plain
,那发送的数据就是 String 类型,通过ctx.request.body
得到的也是 String 类型。 use(bodyParser())
需要放到use(router.routes())
之前才会生效。
以上。
这篇关于node - koa 获取 Content-Type: text/plain 的数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!