跳到主要内容位置

网络请求

提示

主要的目的在于获取更种请求格式传来的数据

信息

和express框架一样,不直接支持解析post请求体数据,需要使用koa-bodyparser这个库

第一部分:原理解析

  • 1.get请求数据获取
    • 请求对象ctx.request.query,返回对象如 { school:'zjutuser', age:20 }
    • 请求字符串 ctx.request.querystring,返回如 school='zjutuser'&age=20
  • 2.post数据请求获取:
    • 请求对象ctx.request.body,返回如 { school:'zjutuser', age:20 }
信息

get请求的参数获取也可以是通过ctx.query与ctx.querystring

第二部分:小案例

const Koa = require('koa')
const app = new Koa()

app.use( async ( ctx ) => {
let url = ctx.url


// 获取get请求数据
let request = ctx.request
let req_query = request.query
let req_querystring = request.querystring

//get或者是下面这样
// let ctx_query = ctx.query
//let ctx_querystring = ctx.querystring

ctx.body = {
url,
req_query,
req_querystring,
ctx_query,
ctx_querystring
}
})


app.use( async ( ctx ) => {
let url = ctx.url

let req_data=ctx.request.body;

ctx.body = {
url,
req_data,
}
})

app.listen(7005, () => {
console.log('服务器开启------7005')
})


危险

上面仅是一个例子展示获取数据(没区分路由),项目中要先区分路由映射在走controller中获取