axios 加请求头的问题

  1. 后台让我加个请求头 来判断是否是ajax的请求 x-requested-with = XMLHttpRequest
  2. 我在postman测试过了加完请求头是可以拿到数据的

    clipboard.png

  3. 我将请求头加入axios后发现请求失败,不知道下面的写法是否有问题,我配置过proxyTable进行跨域代理,

    axios({
      method: "POST",
      url: '/SystemLog/getSystemlog',
      headers: {'x-requested-with': 'XMLHttpRequest'},
    })

    在main.js设置过

    Axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

clipboard.png

请各位大佬指导下。

回答:

我在API的写法中加请求头的写法没有问题。
也可以在main.js设置全局的请求头

Axios.defaults.headers.common['请求头key'] = '请求头value';

是我们后台限制了我的请求,后台要加个允许我加请求头的参数

("Access-Control-Allow-Headers", "允许的请求头key");

回答:

直接使用axios.create,设置headers.

const myAxios = axios.create({
  baseURL: '*****',
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded',
    'x-requested-with': 'XMLHttpRequest'
  }
})
使用的时候直接 myAxios.get('***')即可,这时候会发现在request headers多了个x-requested-with,亲测有效

回答:

你什么不加 是什么问题 你这确认问题是什么了么?
跨域? 最后报错404 没办法知道你具体问题啊
下面是我之前的文章 提到过配置本地代理 可以看看
https://segmentfault.com/a/11…

回答:

可以通过创建实例的方式设置 headers

const ajax = axios.create({
  baseURL: 'https://some-domain.com/api/',
  timeout: 1000,
  headers: {'X-Custom-Header': 'foobar'}
})

ajax.post('/SystemLog/getSystemlog')

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注