我们使用 navigator.sendBeacon 函数将数据发送到 Koa 服务器,其中我们使用 bodyparser。
如果我们没有将数据包装到表单中,则默认情况下该函数将数据作为请求负载发送。我如何才能访问 Koa 服务器上的这些数据?
例子 -
navigator.sendBeacon('http://localhost:3000/cookies/', 'test=payload')
Run Code Online (Sandbox Code Playgroud)
在服务器上,请求正文为空。
我想将 koa & koa-bodyparser 与 TypesScript 一起使用,但是每当我访问时,我都会收到一个类型上不存在的错误ctx.request.bodybodyRequest
import Koa from 'koa'
import Router from 'koa-router'
import bodyparser from 'koa-bodyparser'
const app = new Koa()
const router = new Router()
const data = ['lorem', 'ipsum', 'dolor', 'sit', 'amet']
app.use(bodyparser())
router.post('/', (ctx, next) => {
const phrase = ctx.request.body; // Property 'body' does not exist on type Request
if (typeof phrase === 'string') {
ctx.response.body = data.filter(element => element.includes(phrase))
}
})
Run Code Online (Sandbox Code Playgroud)