谁能告诉我,koa request服务器转发为什么前端访问是个404

这是代码,做转发用的,但是ctx.response.body会前端的是404

router.get('/getData', async (ctx, next) => {  let opts = Object.keys(ctx.query).reduce((pre, item, index) => {    return pre += `${item}=${encodeURIComponent(ctx.query[item])}&`
  }, '?')  
  // const getData = await request.get(`https://searchapi.hc360.com/getmmtlast.cgi${opts}`)
  // console.log('getData', getData.query);

  request({    url: `https://searchapi.hc360.com/getmmtlast.cgi${opts}`,    method: 'GET',    encoding: null
  }, function(err, res, data) {    if (!err && res.statusCode == 200) {      console.log('data', Iconv.decode(data, 'gbk'));
      ctx.response.body = Iconv.decode(data, 'gbk')
    } else ctx.response.body = err;
  })  await next();
})


largeQ
浏览 1257回答 1
1回答

慕的地6264312

因为request是一个异步的过程,请求 /getData 时并没有执行到 ctx.response.body ,这里await request的结果赋给ctx
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Vue.js