请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答 回答被采纳积分+3

2回答

Scott 2017-03-13 22:41:32

你用的是 koa 哪个版本,如果是 2.0 的话,可以把 this.req 换成 ctx.request 试试看,如果报错的是这个位置的话


yield getRawBody(this.req, {
        length: this.length,
        limit: '1mb',
        encoding: this.charset
      })
1 回复 有任何疑惑可以回复我~
  • 提问者 Apieceofcake #1
    确实是这个位置,那这个ctx代表的是什么东西呢?
    回复 有任何疑惑可以回复我~ 2017-03-13 22:52:53
  • Scott 回复 提问者 Apieceofcake #2
    ctx 就是 HTTP 请求进入 Koa 后的上下文,Koa 1 和 Koa 2 的 API 用法不同,而且还有其他更多不同,建议你先把 koa 的版本退回到 koa@1.2.0,然后把课程跟完之后,再基于这个跑通的课程代码,对 Koa 进行升级,这样学习难度小一些,而且也能顺利掌握两种不同架构下的 Koa。
    回复 有任何疑惑可以回复我~ 2017-03-14 19:02:41
  • var wechat = new Wechat(opts);
        return async (ctx, next) => {
            console.log('xxxxxx'+ctx.request.toString);
            var token = opts.token;
            var signature = ctx.query.signature;
            var nonce = ctx.query.nonce;
            var timestamp = ctx.query.timestamp;
            var echostr = ctx.query.echostr;
            var str = [token, timestamp, nonce].sort().join('');
            if(ctx.request.method==='GET'){
                if (sha === signature) {
                    ctx.body = echostr + ''
                } else {
                    ctx.body = 'wrong';
                }
            }
            else if(ctx.request.method==='POST'){
                if (sha !== signature) {
                    ctx.body = 'wrong';
                    return false;
                } 
            }
            console.log("ctx.request ,ctx的内容打印"+ctx.request)
            var data =await getRawBody( ctx.req,{
                length: ctx.req.length,
                limit:'2mb',
                encoding: ctx.req.charset
            })
            console.log("this.request"+ctx.request)
            console.log("this.length"+ctx.length)
            console.log(data.toString()) 
            var content = await util.parseXMLAsync(data);
            console.log(content)
        }
    }
    回复 有任何疑惑可以回复我~ 2019-09-16 15:28:32
flydust 2017-05-15 17:47:25

把 length:this.length,  注释掉试试

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号