我正在使用下面的代码
const configureAjaxClient = () => {
let csrf_token = '';
const instance = axios.create({
baseURL: '/abc',
timeout: 300000,
paramsSerializer: (params) => {
return qs.stringify(params, { arrayFormat: 'brackets' });
},
});
instance.interceptors.request.use((config) => {
config.headers['X-CSRF-Token'] = csrf_token;
if (config.data) {
config.data = qs.stringify(config.data);
}
return config;
});
instance.interceptors.response.use((response) => {
if (response.data) {
return Promise.reject(response);
}
return response;
}, (error) => {
return Promise.reject(error);
});
return instance;
};
export default configureAjaxClient;
当我的请求是303时,重定向到位置头响应,并在下面调用错误函数
errorError:Network Error
at createError (createError.js:16)
at XMLHttpRequest.handleError (xhr.js:87)
并且在错误中我得到error.response为undefined。
我如何获得响应头,我希望重定向到另一个路由。
请帮助我使用最新的Axios和reactjs
你不能。 Axios是XMLHttpRequest的包装器,它透明地处理重定向响应,并且无法更改它。
如果要切换到fetch,那么可以使用a request object指定不会自动跟踪重定向。
请求中缺少此标头,我的服务器正在检查其Ajax请求
// Headers
// This header is required to inform server that its an Ajax request
instance.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';