鍍金池/ 問答/數(shù)據(jù)庫  HTML/ context.response.body不能返回值

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可以拿到正確的數(shù)據(jù),
但是

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

就返回不了數(shù)據(jù)

回答
編輯回答
巫婆

源碼我看了一下,出現(xiàn)404是因為你/language/get報錯了,沒處理完,參考下面搞就行了。

輸出的數(shù)據(jù)不用手動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;
2017年9月14日 00:51