收藏
回答

wx.request中的request对象究竟封装了什么?

情况是这样的...

有个第三方网站,在网站内正常操作ajax,能获取到json数据。把url单独拿出来,在浏览器中访问,状态码是200,但是no response data avalid

云函数中用requet和request-promise都不能获取数据

但是在前端,用wx.request请求就能正常拿到json数据

所以,我想知道你们究竟对前端request封装了什么header?

因为,出于某些原因,不想将第三方url暴露出来...所以想把request放在后端...

还请大神告知,谢谢!

最后一次编辑于  09-27
回答关注问题邀请回答
收藏

2 个回答

  • 小程序技术专员-binnie
    小程序技术专员-binnie
    09-28

    建议抓包对比一下,wx.request可参考https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html

    09-28
    赞同
    回复 1
    • 小猪快跑
      小猪快跑
      09-28
      好的,谢谢
      09-28
      回复
  • จุ๊บ
    จุ๊บ
    09-27

    所以 你还是要看接口是否有鉴权或者判断请求类型

    09-27
    赞同
    回复 2
    • 小猪快跑
      小猪快跑
      09-27

      小程序端:

      wx.request({

      url: url,

      success: function(data){

      //这里能获取到数据

      }

      })

      云函数端:

      const rp = require('request-promise')

      var result = await rp(url)

      //这里取不到数据,是undifined

      浏览器端:

      直接访问URL,no response data valid,取不到数据

      在网站里正常访问,能取到数据

      网站是第三方的,小程序端可以直接获取数据,应该不存在鉴权吧,感觉像是header里的问题

      09-27
      回复
    • จุ๊บ
      จุ๊บ
      09-27回复小猪快跑

      额,那你检查下header吧。

      09-27
      回复
问题标签