Axios 请求代码优化 - 设置请求头和参数传递
这段代码没有明显的语法错误,但是存在一些问题:
-
在调用 'axios.post' 方法时,传递的参数应该是一个对象,而不是一个字符串。应该修改为 '{ token: token }'。
-
在调用 '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);
});
},
原文地址: https://www.cveoy.top/t/topic/msV7 著作权归作者所有。请勿转载和采集!