umi-request
antd pro 拉下来的request,用的是
import { extend } from 'umi-request';
const request = extend({
....
headers: {
....
token:localStorage.getItem("token")
},
});
想要每次请求带上token,就在headers里设置 token:localStorage.getItem("token")
但是有时候会发现token 明明获取到了,但是headers上写不进去
原因
extend只会在初始化的时候设置一遍,之后用的都是初始化时候配置的值
解决:
request.interceptors.request.use(async (url, options) => {
if (
options.method === 'post' ||
options.method === 'put' ||
options.method === 'delete' ||
options.method === 'get'
) {
const headers = {
'Content-Type': 'application/json',
Accept: 'application/json',
token:localStorage.getItem("token")
};
return {
url,
options: { ...options, headers },
};
}
});
每次请求都在发出前,手动拦截一下,手动加上token