阅读 195

前端迈向架构师第一步-快速了解koa框架-2

今天还是继续学习KOA框架的知识( ̄▽ ̄)"

本文介绍koa常用的一些插件:

  • @koa/cors 跨域处理

  • koa-body 协议处理

使用koa-body和@koa/cors

  • koa-body 处理request过来的请求里面的数据

  • @koa/cors 处理一些跨域请求

安装: npm install -S koa-body @koa/cors

使用顺序注意: 需要先使用koa-body处理request过来的请求里面的数据,然后再使用@koa/cors 处理一些跨域请求

Koa中post传值的获取

var Koa = require('koa'); var Router = require('koa-router'); var cors = require('@koa/cors'); var koabody = require('koa-body');   var app = new Koa(); var router = new Router();   router.post('/post', async (ctx, next) => {     let {body}=ctx.request;//获取前端给的值     ctx.body={//把body里面前端给的内容再返回给前端         ...body     } });   //app.use注意顺序 app.use(koaBody())//处理request过来的请求里面的数据 app.use(cors())//处理一些跨域请求   app.use(router.routes())     .use(router.allowedMethods());   app.listen(3000); 复制代码

Koa中get传值及获取get传值

  1. 键值对拼接传参,接收参数主要通过ctx.qruery获取,需要注意的是在ctx与ctx.request里均可以获得一样的结果。

  2. 动态路由传参,接收参数主要通过ctx.params获取。

键值对拼接传参 示例如下:

 var Koa = require('koa'); var router = require('koa-router')(); var app = new Koa(); // http://localhost:3000/details?id=1&name=jiangyx router.get('/details',async(ctx)=>{     // 从ctx中读取Get传值     console.log(ctx.url);// /details?id=1&name=jiangyx     console.log(ctx.query); // { id: '1', name: 'jiangyx' } // 获取的是对象,用的最多的方式     console.log(ctx.querystring) // id=1&name=jiangyx // 获取的是字符串       // 从ctx里的request里获取Get传值     console.log(ctx.request.url); // /details?id=1&name=jiangyx     console.log(ctx.request.query); // { id: '1', name: 'jiangyx' }     console.log(ctx.request.querystring); // id=1&name=jiangyx });   app.use(router.routes()); app.use(router.allowedMethods()); app.listen(3000); 复制代码

动态路由传参 示例如下:

var Koa = require('koa'); var router = require('koa-router')(); var app = new Koa();   // http://localhost:3000/details/1/jiangyx router.get('/details/:id/:name', async (ctx) => {     // 获取动态路由的传值     console.log(ctx.params); // { id: '1' ,name:'jiangyx'} });   app.use(router.routes()); app.use(router.allowedMethods()); app.listen(3000);


作者:ava鱼
链接:https://juejin.cn/post/7031724999006224391


文章分类
前端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐