为什么Axios中获取不到Content-Type

3 篇文章 0 订阅

需要对Content-type是application/json的内容进行加密,本来想通过config.headers['Content-Type']去获取默认的config的,但是始终获取不到,因为很多都是默认设置的,花了很长时间。后面通过其他方式去判断的。

1. 可以通过在请求配置里面带一些标识,比如XXX

2. 可以通过判断config.data的数据类型来判断是不是application/json这种Content-Type

 if (config.XXX) {
      config.headers['Content-Type'] = 'application/x-www-form-urlencoded'
    }
    // 先设置所有的请求的Accept都是加密,后端根据这个决定是否返回加密内容
 config.headers['Accept'] = 'application/nt.v1+json'
    // 如果有设置application/json或者请求体是对象并且不是FormData,那么设置加密Content-Type及对数据加密
 if (
      config.headers['Content-Type']?.includes('application/json') ||
      (!config.needtoChange &&
        config.data &&
        typeof config.data === 'object' &&
        !(config.data instanceof FormData))
  ) {
      config.headers['Content-Type'] = 'application/nt.v1+json'
      config.data = { data: utils.encrypt(JSON.stringify(config.data)) }
 }

参考:

content-type: application/json_Allan简的博客-CSDN博客_content-type json

https://www.jianshu.com/p/b1e8223f96d9

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值