POST 请求响应未定义,但 REQUEST 有效
Posted
技术标签:
【中文标题】POST 请求响应未定义,但 REQUEST 有效【英文标题】:POST request response undefined , but REQUEST works 【发布时间】:2022-01-05 18:40:34 【问题描述】:用户切片
import createSlice, createAsyncThunk from "@reduxjs/toolkit";
import LoginService from "../../Services/Login.service";
export const userRegister = createAsyncThunk(
"users/register",
async (params) =>
try
const registerForm = params;
const data = await LoginService.register(registerForm);
return data;
catch (error)
);
const initialState =
userData: ,
errorResponse: null,
status: "idle",
;
export const userSlice = createSlice(
name: "User",
initialState,
reducers: ,
extraReducers:
[userRegister.pending]: (state, action) =>
state.status = "loading";
,
[userRegister.fulfilled]: (state, action) =>
state.status = "succeeded";
state.userData = action.payload;
,
[userRegister.error]: (state, action) =>
state.status = "failed";
state.errorResponse = action.payload;
,
,
);
export default userSlice.reducer;
登录服务.js
import axios from "axios";
const API = axios.create( baseURL: 'http://localhost:3001');
const LoginService =
register: async (registerData ) =>
await API.post('/users/register', registerData)
;
export default LoginService;
您好。我尝试在我的应用中添加注册功能。但是当我提交注册表时,数据会毫无问题地保存到数据库中。但是这条线const data = await LoginService.register(registerForm);
不工作数据是未定义的,但是当我在邮递员中发布相同的请求时,我会以我想要的方式获得响应数据。
【问题讨论】:
目前,您正在解构register
的返回值,提取可能未定义的data
。您是否尝试过记录 await LoginService.register(registerForm)
返回的整个对象?
【参考方案1】:
LoginService.register
没有返回任何东西,
你可以通过这样做来解决这个问题:
const LoginService =
register: async (registerData ) =>
const response = await API.post('/users/register', registerData);
return response.data;
;
【讨论】:
这很好,但是由于 OP 已经使用const data = ...
解构返回值,因此可以通过从定义中删除花括号来简化它,甚至 async
也是不必要的,因为它们已经await
打电话。 register: registerData => API.post('/users/register', registerData);
以上是关于POST 请求响应未定义,但 REQUEST 有效的主要内容,如果未能解决你的问题,请参考以下文章
具有标题和数据的POST请求导致200 ok响应但未添加用户