收藏
回答

【bug】【客户端】request中header会自动加上额外的cookie

框架类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Android 所有 所有 6.6.3

你想反馈一个 Bug 还是 提一个需求?


bug


如果是 Bug:


* Bug 表现是什么?预期表现是什么?


当我给request中的header设置cookie时,设置好的header和实际发送的header不一致。

实际发送的header中会额外的添加字段。只在微信客户端环境下有bug,目前只测试android,ios还没开始测试,开发者工具没有这个bug


代码:

function constructMethod (Wajax, method) {
   Wajax.prototype[method.toLowerCase()] = function (option) {
       var self = this;
       var url = option.url;
       var data = option.data;
       var dataType = option.dataType;
       var contentType = option.contentType;
       return new Promise(function (resolve, reject) {
           var cookie = stringify(getAll());
           var reqDataType = typeof dataType === 'undefined' ? self.option.dataType : dataType;
           var reqContentType = typeof contentType === 'undefined' ? self.option.contentType : contentType;
           var header = {
               cookie: cookie,   // 这里只设置了cookie这一个字段
               'content-type': reqContentType
           };
           var random = Math.random();
           // eslint-disable-next-line
           self._debug && console.log('request start ' + random, {url: url, data: data, method: method, header: header, dataType: reqDataType});
           wx.request({
               url: url,
               data: data,
               method: method,
               header: header,
               dataType: reqDataType,
               success: function (res) {
                   resolve(res);
                   // eslint-disable-next-line
                   self._debug && console.log('request success ' + random, {res: res});
                   res.header['Set-Cookie'] && multiSet(parse(res.header['Set-Cookie']));
               },
               fail: function (res) {
                   // eslint-disable-next-line
                   self._debug && console.log('request fail ' + random, {res: res});
                   reject(res);
               }
           });
       })
   };
}


实际发送的请求:

console.log




请求抓包:



* 如何复现?


* 提供一个最简复现 Demo


如果是需求:


* 你希望有什么能力?


* 你需要这个能力的场景是 ?


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

2 个回答

登录 后发表内容