axios头拦截器也在改变有效负载

g9icjywg  于 2023-08-04  发布在  iOS
关注(0)|答案(1)|浏览(133)

我正在使用Axios拦截器向React应用程序中来自客户端的所有出站请求添加自定义头。
我刚刚注意到,这不仅增加了头部,而且还本质上改变了有效载荷:更具体地说,我们作为字符串传递的JSON字段被隐式地转换为JSON对象。
当我删除此代码时,请求将恢复正常。我看过axios的源代码,不明白它在哪里以及为什么会这样做,但当你使用头拦截器时,axios解析数据的方式似乎有一个bug
想知道是否还有其他人经历过这种情况

axios.interceptors.request.use((config) => {
  const customerId = getCustomerID();
  if (config?.headers && customerId){
    config.headers[HEADER] = customerId;
  }
  return config;
});

字符串
你知道为什么Axios在只应该调整报头的时候隐式地触摸负载吗?这是否可以禁用?

yyyllmsg

yyyllmsg1#

如果您需要设置头文件不需要使用拦截器,请用途:

(() => {
  const customerId = getCustomerID();
  axios.defaults.headers.common['Customer-Id'] = customerId;
})()

字符串

相关问题