获取不到图书信息

来源:7-3 图书录入功能 - 获取豆瓣图书信息接口2

西岚Silan

2018-06-15

const https = require('https')
module.exports = async ctx => {
// 就是这里出问题,返回的http没有相应体,ctx.request.body 为空
console.log('this is ctx-------------------------', ctx, '-------------------------------')
const {
isBin,
openId
} = ctx.request.body
console.log('添加图书', isBin, openId)
if (isBin && openId) {
let url = 'https://api.douban.com/v2/book/isbn/' + isBin
const bookinfo = await getJson(url)
console.log('bookinfo---------------------------', bookinfo, '-------------------------------')
}
}

function getJson(url) {
console.log('url-------------------------------', url, '-------------------------------')
return new Promise((resolve, reject) => {
// 返回的是一个流
https.get(url, res => {
let urlData = ''
// 每次获取新数据都累加
res.on('data', data => {
urlData += data
})
res.end('data', data => {
console.log('data-------------------------', data, '-------------------------------')
const bookinfo = JSON.parse(urlData)
if (bookinfo.title) {
resolve(bookinfo)
}
reject(bookinfo)
})
})
})
}

返回的http没有相应体,ctx.request.body 为空,所以我在这里就获取不到isbin和openId,

但是我在me.vue里面,传入的isbin,opendId都是正常的

async addBook(isBin) {
      console.log(isBin, this.userinfo.openid)
      const res = await post('/weapp/addbook', {
        isBin,
        openid: this.userinfo.openId
      })
      console.log(res)
      if (res.code === 0 && res.data.title) {
        showSuccess('添加成功', `${res.data.title}添加成功`)
      }
    },
scanBook() {
      wx.scanCode({
        success: res => {
          if (res.result) {
            this.addBook(res.result)
            console.log(res.result)
          }
        }
      })
    }
},

能够打印出isBin和openId

还有就是,我把老师您的代码复制下来运行,也是这个问题,就是获取不到图书的信息

写回答

1回答

慕瓜8449030

2018-06-16

你request的时候 加上ua的header试试 我现在本地代码是OK的

比如把user-agend设置为 "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36" 模拟真实的用户

0
4
慕莱坞4374788
回复
西岚Silan
你是用本机调试的吗? 我用腾讯云出问题
2018-07-27
共4条回复

mpvue课程小程序全栈开发

慕课网独家首发 学习mpvue+Koa+vue 全栈开发小程序

1407 学习 · 1331 问题

查看课程