博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
koa2-3
阅读量:4914 次
发布时间:2019-06-11

本文共 1502 字,大约阅读时间需要 5 分钟。

Get请求的接收

  在前后端配合时,后端都会告知你的请求时GET/POST请求,我们对两种请求在前端也是非常熟悉的,比如作电商系统时,我们要得到一个商品的详细信息,需要传递GET形式的商品编号到后台,后台返回给我们数据。既然我们对请求都不陌生,那来看一下这些请求Koa2是如何接受并处理的。

 query和querystring区别

  在koa2中GET请求通过request接收,但是接受的方法有两种:query和querystring。

  • query:返回的是格式化好的参数对象。
  • querystring:返回的是请求字符串。

  先来写个简单的例子,看一下输出的结果。

  demo1.js

const Koa = require('koa');const app = new Koa();app.use(async(ctx)=>{    let url =ctx.url;    let request =ctx.request;    let req_query = request.query;    let req_querystring = request.querystring;     ctx.body={        url,        req_query,        req_querystring    } }); app.listen(3000,()=>{    console.log('[demo] server is starting at port 3000');});

  编写好后,在终端中使用node demo1.js启动服务。启动一切正常可在浏览器中使用http://127.0.0.1:3000?user=jspang&age=18来进行访问。我们在网页中可以得到一串JSON字符串,这是不是很想后端传给我们的接口。

 直接从ctx中获取Get请求

  除了在ctx.request中获取Get请求外,还可以直接在ctx中得到GET请求。ctx中也分为query和querystring。有了上边的联系,我们对它们的区别已经很熟悉,不再累述。接着上边的代码,我们看一下在ctx下直接获取GET请求的方式。

const Koa = require('koa');const app = new Koa();app.use(async(ctx)=>{    let url =ctx.url;     //从request中获取GET请求    let request =ctx.request;    let req_query = request.query;    let req_querystring = request.querystring;     //从上下文中直接获取    let ctx_query = ctx.query;    let ctx_querystring = ctx.querystring;     ctx.body={        url,        req_query,        req_querystring,        ctx_query,        ctx_querystring    } }); app.listen(3000,()=>{    console.log('[demo] server is starting at port 3000');})

 

转载于:https://www.cnblogs.com/xiaofandegeng/p/9108016.html

你可能感兴趣的文章
Java类加载机制
查看>>
数据库的最简单实现
查看>>
循环单链表实现
查看>>
Android设计模式实战---责任链模式
查看>>
剑指Offer_31_整数中1出现的次数(从1到n整数中1出现的次数)
查看>>
10月29日 迅雷会员vip账号分享 91freevip 晚间21:00更新
查看>>
【一题多解】Python 字符串逆序
查看>>
open ball、closed ball 与 open set、closed set(interior point,limit point)、dense set
查看>>
字典(dictionary)与映射(map)
查看>>
Python 编程规范 —— TODO 注释(结合 PyCharm)
查看>>
十万个为什么 —— 名词解释(体育)
查看>>
table的设置(w3c)
查看>>
冲刺一
查看>>
【练习】在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b...
查看>>
python解决上楼梯问题
查看>>
变参宏 __VA_ARGS__
查看>>
sql 语句
查看>>
VUE一 基础语法
查看>>
[MySQl]MySQL忘记密码
查看>>
Android的minSdkVersion,targetSdkVersion,maxSdkVersion
查看>>