微信小程序 爬坑记录 request-header
Labrador 组件 封装了 小程序原版的 request。
源码:
1 | /** |
接下来就是一个大坑:
朋神写了一个 demo 给我。
需要 set header
源码里面的 API 是这样的 request(menthod, url, data, header);
然后我试了一下。没有报错。。network 也没有显示发送任何东西。第一感觉是 API 有问题
尝试 request.post(url, data, header)一样
request.setOptions({defaultHeader}) 也一样
但是朋神说他 demo 测试没问题。。
然后尝试着把 header 删掉。。可以发送请求,加上 header 就不行。
尝试把 header 的数据全部换成 ‘1’ 也可以
得出结论 是 header 的问题
然后删掉 header 有一部分很长的
1 | let res = yield wx.login(); |
即 data.rawData
正常可以发送请求,加上就不行。。
那就是这个的锅了。截图给朋神看,朋神说 加个 encodeURIComponent 试试。。成功发送请求。代码如下:
1 | let res = yield wx.login(); |
总结:header 的这个字段有特殊字符和一些中文。所以要转义一下。。