收藏
回答

云函数中使用request-promise为什么返回乱码?

 const wxContext = cloud.getWXContext();
  const weatherApi = 'https://devapi.qweather.com/v7/weather/3d?key=75945b2a56fc4bb7a48a14f48d5d7c0b&location=117.143663,31.831672'
  return requestP({
      url: weatherApi,
    }) //使用request-promise发送请求
    .then(function (res) {
      return res;
    })
    .catch(function (err) {
      return {
        error: err
      }
    })

如上面的代码,在云函数控制台查看网络请求,返回的是正常内容,但是在小程序端获取到的是乱码:

wx.cloud.callFunction({
  name: 'weatherService',
}).then(res => { console.log("weatherService",res) }).catch(err => { })


调试接口返回的内容

客户端小程序获取到的返回内容:

回答关注问题邀请回答
收藏

1 个回答

  • Mr.Zhao
    Mr.Zhao
    2022-03-03

    不用云函数,也是乱码

    2022-03-03
    有用
    回复 5
    • Hanson🇨🇳
      Hanson🇨🇳
      2022-03-04
      但是wx.request返回的是正常的,所以,问题在哪呢
      2022-03-04
      回复
    • Mr.Zhao
      Mr.Zhao
      2022-03-04回复Hanson🇨🇳
      响应头返回gzip,wx.request自动解压缩了所以没问题
      2022-03-04
      回复
    • Mr.Zhao
      Mr.Zhao
      2022-03-04回复Hanson🇨🇳
      java的解决了 再研究下request-promise咋弄
      2022-03-04
      回复
    • Mr.Zhao
      Mr.Zhao
      2022-03-04回复Hanson🇨🇳
      2022-03-04
      1
      回复
    • 吃栗子
      吃栗子
      2022-05-29回复Mr.Zhao
      大佬,感谢!
      2022-05-29
      回复
登录 后发表内容