【客户端】request中header会自动加上额外的cookie,偶现
发布于 5 年前 作者 zhangjing 328 次浏览 来自 问答

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

如果是 Bug:

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

偶现

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

实际发送的header中会额外的添加字段。只在微信客户端环境下有bug,开发者工具没有这个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,
               '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);
               }
           });
       })
   };
}

代码设置的header

实际发送的请求:

* 如何复现?

* 提供一个最简复现 Demo

如果是需求:

* 你希望有什么能力?

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

回到顶部