javascript - axios在拦截器中重复url

标签 javascript reactjs axios

我正在使用 Axios 进行 HTTP 请求,这是我第一次遇到此问题。 第一个请求通过了,一切都很好。但在我的第二个请求中,我遇到了一个问题,Axios 无缘无故地重复了我的 URL。

axios 最后尝试获取的 url 如下所示:

http://localhost:3001/http://localhost:3001/http://localhost:3001/user/5e4844f6451e0078e7dd398e

这是获取操作:

export const getUserDetailsById = async ({id}) => {
    return await axios.get(`user/${id}`).then(res => res.data);
};

和拦截器:

import axios from "axios";

export default () => {
    axios.interceptors.request.use(function (config) {
        const token = localStorage.getItem(process.env.REACT_APP_TOKEN_NAME);
        config.headers.common['authorization'] = `Bearer ${token}`;
        config.headers.common['Content-Type'] = 'application/json';
        config.url = `${process.env.REACT_APP_API_URL}/${config.url}`;

        const url = config.url;
        console.log(url);

        return config;
    },  function (error) {
        return Promise.reject(error);
    });

    axios.interceptors.response.use(function (response) {
        return response;
    }, function (error) {
        return Promise.reject(error);
    });
};

最佳答案

您可以在调用axios.create时设置baseURL

import axios from 'axios';

var api = axios.create({
    baseURL: `${AppConfig.apiUrl}/services`,
});

export default api;

然后当你想使用 axios 时导入 api

关于javascript - axios在拦截器中重复url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60298450/

相关文章:

javascript - 主干关系 - 深层嵌套模型/集合

javascript - Ajax POST - 同步请求的 'XMLHttpRequest.withCredentials' 已弃用

javascript - 在纯函数代码中使用 React proptypes 进行验证

javascript - 如何实现与数字输入绑定(bind)范围的 slider

javascript - 动态管理单元小部件

reactjs - 在 React 应用程序中测试 Select 元素

vue.js - 无法在 CORS 请求中发送凭据

reactjs - axios 拦截器中的 useContext

reactjs - .NET Core webapp 服务 SPA : Blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource

javascript - 在 firebase 中存储 'long' 类型