如何解决得到错误的POST http://localhost:5000/users/signup 400(错误的请求)

293 阅读1分钟

我正在用redux创建一个认证系统,但在向后端请求登录时得到POST http://localhost:5000/users/signup 400(坏请求),但这个链接在postman的帮助下可以登录,同时也得到axios错误AxiosError {message:Request failed with status code 400', name: 'AxiosError', code:ERR_BAD_REQUEST', config:{...}, request:XMLHttpRequest, ...}。

这是authSlice.js的代码

import * as api from "../api"
export const login=createAsyncThunk("auth/login",async({formValue,navigate,toast})=>{
    try{
        const response=await api.signIn(formValue);
        toast.success("success");
        navigate("/");
        return response.data;
    }catch(err){
        console.log(err)
    }
})

const authSlice=createSlice({
    name:"auth",
    initialState:{
        user:null,
        error:"",
        loading:false,
    },
    reducers:{

    },
    extraReducers:{
        [login.pending]:(state,action)=>{
            state.loading=true;
        },
        [login.fulfilled]:(state,action)=>{
            state.loading=false;
            localStorage.setItem("profile",JSON.stringify(...action.payload));
            state.user=action.payload;
        },
        [login.rejected]:(state,action)=>{
            state.loading=false;
            state.error=action.payload.message;
        },
    }
});
export default authSlice.reducer;

这是api.js的代码


const API =axios.create({baseURL:"http://localhost:5000"});
export const signIn=(formData)=>API.post("/users/signup",formData);