vue

vue开发中统一给接口头部添加Service-Type遇到的小坑

2019-11-06  本文已影响0人  小蜜蜂_1d30

这两天项目需要,需要给所有项目中添加灰度发布,说白了,就是在每个请求接口的头部添加Service-Type字段,同事在忙着开发调试,正好我手里没啥事,就自己全做了,前几个项目照着文档改一下,本地调试,环境测试都成功了,到最后一个项目的时候,本地调试好好的,可是一上环境怎么编写都出错,废话不多说,直接上图(左边本地调试,右边环境)

折腾了好一会儿,才想起来看代码,之前的那几个vue项目都是通过npm打包,在main.js里面配置,代码如下

// 灰度测试 axios全局添加请求头

let setHttpHeader = {'Service-Type' : 'grey'};

Axios.interceptors.request.use(function (config) {

  if (setHttpHeader) {

    for ( let headerKey in setHttpHeader ) {

      config.headers[headerKey] = setHttpHeader[headerKey];

    }

  }

  return config;

}, function (error) {

    return Promise.reject(error);

})

这个项目比较简陋,没有main.js 看了一下代码时在config.js里面引用的ajax,所以在这里配置了,没有多想就按着原来的方式把代码放上去,如下,本地调试是好的,可是一上环境打开F12查看代码就能看到 let setHttpHeader = null; 

试了好多种方法,最后突然想到,会不会在这个文件中他只认WebConfig下面定义的属性和值,于是将代码改成如下格式、

这次再将代码打到环境上,竟然好了,没有再报错,打开控制台,查询请求接口头部信息,出现来第一张图中左边的效果

致此,结束,当然,如果上面将setHttpHeader放在Webconfig中定义,下面的方法使用的时候要注意哦,最后附上修改的完整代码

上一篇下一篇

猜你喜欢

热点阅读