koa获取get请求、querystring以及state使用

本文介绍了在Koa框架中如何处理GET请求,详细讲解了querystring模块的使用,包括对象序列化和反序列化的方法,并探讨了state在存放中间件共用数据中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 获取get请求
// 相比于post请求 get请求就比较简单一些了
router.get('/getData',async (ctx,next)=>{
     console.log(ctx.request.url);              // "/?name=xxx&age=111"         字符串
     console.log(ctx.request.query);            // {"name":"xxx","age":"111"}   对象
     console.log(ctx.request.querystring);      // "name=xxx&age=111"           字符串
});
2.querystring使用
2.1 导入
const querystring=require('querystring');
2.2 将对象序列化 也就是把对象变成字符串
querystring.stringify(obj) 等价于querystring.encode(obj)
let obj={
 	name:'tom',
  	type:'cat'
}
console.log(querystring.stringify(obj)); // name=tom&type=cat
2.3 将字符串反序列化 也就是把特定格式的字符串转成对象
querystring.parse(str) 等价于 querystring.decode(str)
let str="name=tom&type=cat";
console.log(querystring.decode(str));    // { name: 'tom', type: 'cat' }
3. state使用 存放后续中间件共用的数据
app.use(async (ctx,next)=>{
	ctx.state.person={name:'tome',age:3};
});
app.use(async ctx=>{
	// state是一个对象
    console.log(ctx.state);    // { person: { name: 'cxb', age: 22 } }
})	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值