koa 中间件获取的 ctx.request.body 的typeof为什么会是字符串呢
这边是使用了koa-body解析body数据
下面是index.js 引入koa-body
const Koa = require('koa');const { koaBody } = require('koa-body');const userRouter = require('../routers/user.route');const app = new Koa();app.use(koaBody());app.use(userRouter.routes());const errHandler = require('./errHandler')// 统一的错误处理app.on('error', errHandler)module.exports = app
route文件中,post 传 ctx.request.body给中间件 (打印发现是字符串)
const Router = require('koa-router');const router = new Router({ prefix: '/user' });//中间件const { userValidator, verifyUser, crpytPassword } = require('../middleware/user.middleware')const { register, login } = require('../controller/user.controller')//GET user// router.get('/', async (ctx, next) => {// ctx.body = 'user';// });//POST // 合法性 合理性 加盐 registerrouter.post('/register', userValidator, verifyUser, crpytPassword, register)router.post('/login', login)module.exports = router;
中间件打印是字符串
//加密const crpytPassword = async (ctx, next) => { console.log(typeof ctx.request.body,'---------------'); return const { password } = ctx.request.body const salt = bcrypt.genSaltSync(10) // hash保存的是 密文 const hash = bcrypt.hashSync(password, salt) ctx.request.body.password = hash await next()}
无
这个要看请求你传的Content-Type类型
fetch("http://localhost:7777/deploy?d=1111",{ method:'POST', //请求类型 headers:{ //请求头 "Content-Type":'application/json' }, body:JSON.stringify({ a:33333}), //请求参数}).then(function(res){ return res.json();})
我的目标的一个例子是: 我的目标是: 我不知道如何处理这件事,任何帮助都是很好的,我的目标是在最后有每一个可能的组合点和我的字,这是“你好”。
问题内容: 例如,HTTP REST API刚刚向我返回了JSON,但是现在它是一个字符串。如何将其转换为JSON? 问题答案: 您需要使用此功能。 它将返回包含在字符串中的对象/数组。
本文向大家介绍如何检查字符串中的字符是否为Python中的字母?,包括了如何检查字符串中的字符是否为Python中的字母?的使用技巧和注意事项,需要的朋友参考一下 您可以使用字符串类中的方法。它检查字符串是否仅包含字母。您也可以使用它来检查字符是否为字母。例如,如果您要检查第5个索引处的char是否为字母, 您也可以检查整个字符串,无论它们是否为字母。例如,
如果依靠ctx.request.url去手动处理路由,将会写很多处理代码,这时候就需要对应的路由的中间件对路由进行控制,这里介绍一个比较好用的路由中间件koa-router 安装koa-router中间件 # koa2 对应的版本是 7.x npm install --save koa-router@7 快速使用koa-router demo源码 https://github.com/ChenSh
本文向大家介绍node中koa中间件机制详解,包括了node中koa中间件机制详解的使用技巧和注意事项,需要的朋友参考一下 koa koa是由express原班人马打造的一个更小、更富有表现力、更健壮的web框架。 在我眼中,koa的确是比express轻量的多,koa给我的感觉更像是一个中间件框架,koa只是一个基础的架子,需要用到的相应的功能时,用相应的中间件来实现就好,诸如路由系统等。一个更
问题内容: 尽管非常了解JavaScript,但我对Node.js生态系统中的这三个项目的 确切 用途感到困惑。像Rails的架子吗?有人可以解释一下吗? 问题答案: [ 更新: 从4.0版本开始,Express不再使用Connect。但是,Express仍与为Connect编写的中间件兼容。我的原始答案如下。 我很高兴您对此提出疑问,因为对于那些关注Node.js的人们来说,这无疑是一个常见的困