axios 惯性全局标题

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

我尝试在每个请求中发送一个自定义头(Accept-Content-Language)。这适用于所有常规的axios请求,但惯性手动访问不会在头上拾取。
下面是我设置header的代码:

import axios from 'axios';

const lang = localStorage.getItem('vue_i18n_locale');

if (lang) {
  axios.defaults.headers.common['Accept-Content-Language'] = lang;
  axios.defaults.headers.common['Accept-Language'] = lang;
}

window.axios = axios;

字符串
简单地尝试运行:

$inertia.post('some-route', { some: data })


我知道如何将头属性传递给手动访问,但我希望在整个应用程序中为每次访问发送此头,而不必在任何地方手动添加它们。
有没有办法做到这一点?我的谷歌搜索告诉我没有,但我希望这里的人会知道得更好。

6ju8rftf

6ju8rftf1#

希望这篇文章能帮到你

import axios from 'axios';
import { InertiaApp } from '@inertiajs/inertia-vue3';

axios.interceptors.request.use((config) => {
  const lang = localStorage.getItem('vue_i18n_locale');
  if (lang) {
    config.headers['Accept-Content-Language'] = lang;
    config.headers['Accept-Language'] = lang;
  }
  return config;
});

const app = document.getElementById('app');

new InertiaApp({
  resolve: (name) => import(`./Pages/${name}.vue`),
  setup({ el, App, props, plugin }) {
    return createApp({ render: () => h(App, props) })
      .use(plugin)
      .mount(el);
  },
  page: JSON.parse(app.dataset.page),
});

字符串

相关问题