context.response.body不能返回值

const getLanuage = async (context) => {

    //let form = context.request.body.fields === null ? false : context.request.body.fields

    //let lang = form.lang

    const dbQuery = require(appPath + '/plug/dbQuery')


    //dbQuery自封的,不要在意
    dbQuery("SELECT keyword, cn FROM language").then((data)=>{

        let results = {}

        for ( r in data ){

            let key = data[r].keyword
            let value = data[r].cn

            results[key] = value

        }



        //console打印出来的是正确的东西
        console.log(JSON.stringify(results))
        
        context.response.body = JSON.stringify(results)

    })



}
module.exports = getLanuage

图片描述

图片描述

console.log (JSON.stringify (results))

这里console可以拿到正确的数据,
但是

context.response.body = JSON.stringify (results)

就返回不了数据

阅读 3.4k
1 个回答

源码我看了一下,出现404是因为你/language/get报错了,没处理完,参考下面搞就行了。

输出的数据不用手动JSON.stringify,koa会自动处理

const getLanuage = async (context) => {

  let results = {};
  for (const i in context.request.body) {
    results[i] = context.request.body[i];
  }
  context.body = results;
};
module.exports = getLanuage;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题