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 有效的主要内容,如果未能解决你的问题,请参考以下文章

Node JS POST请求返回未定义的主体

Django REST框架-请求与响应

具有标题和数据的POST请求导致200 ok响应但未添加用户

尝试启用 cookie 但收到未启用 cookie 的响应

MERN - TypeError:无法读取未定义的属性“id”

使用fetch-mock和isomrphic-fetch模拟post请求时,res.json()是未定义的