koa2-4
Posted 小凡的耿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了koa2-4相关的知识,希望对你有一定的参考价值。
POST请求如何接收(1)
获取Post请求的步骤:
- 解析上下文ctx中的原生nodex.js对象req。
- 将POST表单数据解析成query string-字符串.(例如:user=jspang&age=18)
- 将字符串转换成JSON格式。
ctx.request和ctx.req的区别
- ctx.request:是Koa2中context经过封装的请求对象,它用起来更直观和简单。
- ctx.req:是context提供的node.js原生HTTP请求对象。这个虽然不那么直观,但是可以得到更多的内容,适合我们深度编程。
ctx.method 得到请求类型
Koa2中提供了ctx.method属性,可以轻松的得到请求的类型,然后根据请求类型编写不同的相应方法,这在工作中非常常用。我们先来作个小例子,根据请求类型获得不同的页面内容。GET请求时得到表单填写页面,POST请求时,得到POST处理页面。
const Koa = require(‘koa‘); const app = new Koa(); app.use(async(ctx)=>{ //当请求时GET请求时,显示表单让用户填写 if(ctx.url===‘/‘ && ctx.method === ‘GET‘){ let html =` <h1>Koa2 request post demo</h1> <form method="POST" action="/"> <p>userName</p> <input name="userName" /> <br/> <p>age</p> <input name="age" /> <br/> <p>webSite</p> <input name=‘webSite‘ /><br/> <button type="submit">submit</button> </form> `; ctx.body =html; //当请求时POST请求时 }else if(ctx.url===‘/‘ && ctx.method === ‘POST‘){ ctx.body=‘接收到请求‘; }else{ //其它请求显示404页面 ctx.body=‘<h1>404!</h1>‘; } }) app.listen(3000,()=>{ console.log(‘[demo] server is starting at port 3000‘); })
写好这段代码后你可以用node命令执行它,然后再浏览器中输入http://127.0.0.1:3000进行查看,第一次进入时给我们展现的是一个表单页面,我们点击提交后可以看到服务器接收到了我们的信息,但我们并没有做出任何处理。当我们下输入一个地址时,它会提示404错误。
以上是关于koa2-4的主要内容,如果未能解决你的问题,请参考以下文章