reactjs - 我的 axios 实例不起作用,我不知道为什么
问题描述
我为 axios 实例创建了一个单独的 axios.js 文件,以向我正在实时运行的 API 发出请求。当我在我的登录路由中使用 axios 实例时,我得到一个 POST http://127.0.0.1:3000/login 404 (Not Found) 错误,即使在我的 axios 实例中定义的 url 不是我的本地主机它是 url API。现在,当我在登录路由中使用 axios 并输入整个 API url 而不是使用实例时,POST 请求会转到正确的 url,并且我得到了正确的响应。我不明白这个。API 上的一切都很好,并且已经过多次测试,并且我之前使用过这样的 axios 实例。
这是我设置的实例(baseUrl 在我的代码中是正确的):
import axios from 'axios';
const axiosInstance = axios.create({
baseUrl: REMOVED,
headers: {
Authorization: localStorage.getItem('accessToken')
? 'Bearer ' + localStorage.getItem('accessToken')
: null,
'Content-Type': 'application/json',
},
});
export default axiosInstance;
这是使用我的 axios 实例并且不起作用的登录功能:
export const login = (email, password) => (dispatch) => {
axiosInstance
.post('/login', { email: email, password: password })
.then((res) => {
dispatch({
type: LOGIN_SUCCESS,
payload: res.data,
});
})
.catch((err) => {
console.log(err);
dispatch({
type: LOGIN_FAIL,
});
});
};
这是完美运行的登录功能:
export const login = (email, password) => (dispatch) => {
axios
.post('fullurlnotshown/login', { email: email, password: password })
.then((res) => {
dispatch({
type: LOGIN_SUCCESS,
payload: res.data,
});
})
.catch((err) => {
console.log(err);
dispatch({
type: LOGIN_FAIL,
});
});
};
编辑:解决了问题...实例中的“baseUrl:”应该是“baseURL:”
解决方案
您可能引用了错误的属性baseUrl
。axios文档的属性为baseURL
(URL 而不是 Url)。
Axios 可能会默默地忽略您不正确的属性键并回退到 localhost。
推荐阅读
- python - 在 Maya (Python) 中通过套接字运行导入的模块函数
- karate - 空手道:比较 2 个 JSON 响应并忽略日期格式
- bash - Bash字符串字典比较不一致
- java - 我的代码中有错误,用于将 aduio url(从 Firebase 检索)从适配器类传递到片段
- google-sheets - 如何在google sheet中混合和匹配不同的项目以形成不同的组合?
- c++ - 引用基类的私有继承方法时的歧义
- python - 我的机器人缺少权限模块不工作 discord.py
- linux - llvm_pipe 线程是什么?
- python - 解决python ValueError: max_workers must be <= 61 when running pre-commit?
- amazon-s3 - 从 S3 中的多个 zip 文件加载雅典娜表的问题