收藏
回答

微信7.0.1 wx.request GET方法请求服务器丢失数据

问题模块 框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
客户端 小程序 Bug iOS iOS 12.1.2 iphone6sp 7.0.1

- 当前 Bug 的表现(可附上截图)

ios 微信7.0.1 使用wx.request get方法时,提交数据不全。


wx.request({
        url: app.globalData.config.api_url + '/api/cards/' + card_id , // 仅为示例,并非真实的接口地址
        method: 'GET',
        header: {
          'content-type': 'application/json'// 默认值
          'authorization': 'JWT ' + access_token
        },
        success(res) {
          console.log(res.data)
          console.log(res)
          if(res.statusCode===200){
 
 
            wx.showToast({
              title: '数据获取成功',
              icon: 'success',
              duration: 2000
            })
            resolve(res)
          }
 
        },
 
        fail(){
          wx.showToast({
            title: '请求失败,请重试',
            icon: 'fail',
            duration: 2000
          })
          reject(false)
        }
      });

代码中的'authorization': 字段没能提交到服务器。

最新模拟器和安卓微信6.7.3正常。


附上不同客户端调试的时候,抓包的数据。


安卓6.7.3:

数据包:
 
GET /api/cards/3/ HTTP/1.1
charset: utf-8
Accept-Encoding: gzip
referer: https://servicewechat.com/wx36013b2c5a309bed/0/page-frame.html
authorization: JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNTQ2MDEzNTY4LCJqdGkiOiJmNGVlOTk2ZmM2MDI0NTE1OTczNzhjYTliYTQwZDFlYSIsInVzZXJfaWQiOjV9.tkGxTDjpbnLDa3DDQyCVKJ2-92pxYm9CIwtvklRn6jI
content-type: application/json
User-Agent: Mozilla/5.0 (Linux; Android 6.0; HUAWEI MT7-CL00 Build/HuaweiMT7-CL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/49.0.2623.105 Mobile Safari/537.36 MicroMessenger/6.7.3.1360(0x2607033D) NetType/WIFI Language/zh_CN Process/appbrand2
Host: 192.168.88.88:8000
Connection: Keep-Alive


ios 7.0.1

数据包:
 
GET /api/cards/4/ HTTP/1.1
Host: 192.168.88.88:8000
Content-Type: application/json
Accept-Encoding: gzip, deflate
Connection: keep-alive
Accept: */*
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 12_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16C101 MicroMessenger/7.0.1(0x17000120) NetType/WIFI Language/zh_CN
Referer: https://servicewechat.com/wx36013b2c5a309bed/0/page-frame.html
Accept-Language: zh-cn



- 预期表现




- 复现路径





- 提供一个最简复现 Demo


最后一次编辑于  2018-12-29  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

2 个回答

  • 是柿子啊
    是柿子啊
    2018-12-29

    是参数丢失吗?还是怎样?麻烦按照教程提供下代码片段:https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2018-12-29
    赞同
    回复 2
    •  
       
      01-05

      同问 不是百分之百必现 而且开发工具反抓包 fiddler抓不到开发工具访问的地址

      01-05
      回复
    • 未进化的类人猿
      未进化的类人猿
      01-15

      GET 房还是确实没法获取授权头部

      01-15
      回复
  • 无登
    无登
    2018-12-29

    get 提交 authorization 参数丢失。 就是最上面的代码wx.request 请求代码。




    -------------------------------


    更新:


    通过我再次测试,发现是因为url做后缺少/,然后请求的时候默认添加/后,发生了二次请求导致的。 第一次301请求后,第二次请求都丢失authorization参数。

    把request url参数最后添加/,已经解决了问题。



    此问题可以关闭了,具体更复杂的问题,我目前暂时没搞明白,懂的大牛呢可以研究或回复说明一下。


    2018-12-29
    赞同
    回复