这段代码没有明显的语法错误,但是存在一些问题:

  1. 在调用 'axios.post' 方法时,传递的参数应该是一个对象,而不是一个字符串。应该修改为 '{ token: token }'。

  2. 在调用 'axios.post' 方法前,应该先设置请求头中的 Authorization 字段,而不是在函数内部直接使用 localStorage 中的 token。因为在请求发送之前,拦截器可能还没有被执行,导致请求没有携带正确的 Authorization 字段。应该将拦截器的设置移到函数外部,或者将其封装成一个单独的模块。

修改后的代码如下:

fetchTaskList() {
  const token = localStorage.getItem('token');
  axios.interceptors.request.use(
    config => {
      config.headers.Authorization = `Bearer ${token}`;
      return config;
    },
    error => Promise.reject(error)
  );
  axios.post('http://localhost:8888/task/findAllTask', { token: token })
    .then(response => {
      this.taskList = response.data;
      this.nextId = response.data.length;
    })
    .catch(error => {
      console.log(error);
    });
},
Axios 请求代码优化 - 设置请求头和参数传递

原文地址: https://www.cveoy.top/t/topic/msV7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录