javascript - 当我使用 Axios.create 访问 api 时,Response.data 为空,但是当我使用 axios.post 时它会给出响应
问题描述
我正在尝试使用 axios 访问 API,但 response.data 变量为空。在使用 axios.create 但当我直接使用 axios.post 访问 API 时。它工作正常。我想通过 axios.create 得到响应。这是我的 axios 创建代码
const client = axios.create({
baseURL: BASE_URL,
headers: {
"Content-Type": "application/json",
"Accept": "application/json",
},
});
我的发布请求方法是:
export const postRequest = (url, payload = {}) => client.post(url, payload);
当我请求我调用这个方法时:
const res = await postRequest('/login', body)
解决方案
axios.create
返回client
具有属性的 a .request
,而不是.post
来自https://masteringjs.io/tutorials/axios/create-post的示例
const client = axios.create({
url: '/post',
baseURL: 'https://httpbin.org',
method: 'POST',
timeout: 1000
});
let res = await client .request({
data: {
name: 'Masteringjs.io',
email: 'Masteringjs@io'
}
});
res.data.json // ↓
// { email: 'Masteringjs@io', name: 'Masteringjs.io' }
所以你的代码看起来像这样:
const client = axios.create({
baseURL: BASE_URL,
headers: {
"Content-Type": "application/json",
"Accept": "application/json",
},
method: "POST"
});
export const postRequest = (url, payload = {}) => client.request({ url, data: payload });
const res = await postRequest('/login', body)
推荐阅读
- android - 无法在组件树和屏幕预览中粘贴组件
- python - 如何在 tkinter 的列表框中显示图像
- c++ - 对通用矩阵类使用 common_type_t 和 enable_if(通过表达式模板)
- c++ - 如何在控制台应用程序中获取光标的坐标?
- node.js - 将 JSON 数据导入 Node.js 对象
- javascript - React 简单的 fetch 程序运行到一个无限循环
- java - Spark-Java:如何在 spark Dataframe 中添加数组列
- arrays - 我的“仅重复计数”代码不起作用。编写了易于理解的干净代码(根据我)
- spring - 如何为 java 11 附加 Spring 源代码
- apache - localhost 不能很好地处理本地文件