HTTP-запрос PUT не работает

Я разрабатываю веб-приложение с MERN для загрузки информации об учениках в школе, поэтому я делаю свой бэкэнд с MongoDB и JS, а для выполнения запроса я использовал библиотеку Axios. Для получения информации о каком-либо студенте с помощью метода GET это работает так хорошо, но когда я попытался обновить некоторую информацию о студенте с помощью метода PUT, он не обновляется. В console.info появляется новая информация, но не на бэкэнде, это мой код, где я пытаюсь обновить эту информацию.

import { useDispatch, useSelector } from "react-redux";
import { onLoadEvents3, onSetActiveEvent3, onUpdateEvent3 } from "../store";
import { systemApi } from "../api";
import Swal from "sweetalert2";

export const usePerDatStore = () => {
  const eventId = "64a5fc8e8f32a8a62adddf3b";
  const dispatch = useDispatch();

  const { event, activeEvent } = useSelector((state) => state.perdat);

  const setActiveEvent3 = (perdatEvent) => {
    console.info(perdatEvent);
    dispatch(onSetActiveEvent3(perdatEvent));
  };

  const startSavingEvent3 = async (perdatEvent) => {

    try {
      dispatch(onUpdateEvent3({...perdatEvent}));
      console.info("Data antes de entrar al backend", perdatEvent);
      const {data} = await systemApi.put(`/events/${eventId}`,perdatEvent);
      console.info("datos obtenidos del backend despues del put",data.evento.datos_personales);
      
      // Lógica adicional para guardar los datos editados en el backend
    } catch (error) {
      console.info(error);
      Swal.fire('Error al guardar', error.response.data.msg, 'error');
    }
  };

  const startLoadingEvents3 = async () => {
    try {
      const { data } = await systemApi.get(`/events/${eventId}`);
      const events = data.evento
     dispatch(onLoadEvents3(events));
    } catch (error) {
      console.info("Error al cargar el usuario");
      console.info(error);
    }
  };

  return {
    activeEvent,
    event,
    setActiveEvent3,
    startSavingEvent3,
    startLoadingEvents3,
  };
};

и мой systemApi.js для вызова axios и использования метода, который я хочу импортировать аксиомы из «аксиос»;

import {getEnvVariables} from '../helpers'


const {VITE_API_URL} = getEnvVariables()

const systemApi = axios.create({

    baseURL: VITE_API_URL


})

//todo interceptores
systemApi.interceptors.request.use(config =>{
    
    config.headers  = {
        ...config.headers,
        'x-token': localStorage.getItem('token')
    }
    
    
    return config;
})

export default systemApi

В моем console.info появляется следующий вывод (при нажатии на него сохраняется новая информация)

вывод perdatEvente:

Data antes de entrar al backend 
{fname: 'Christian', snumber: '18400282', career: 'Mehcatronic', group: '11A', vinculacion: 'CETSA', …}
age: "26"
birth: "2001-09-09T01:30:00.000Z"
career: "Mehcatronic"
col: "El batan"
fname: "Christian"
gender: "Male"
group: "11A"
hnumber : "#2200"
mail:"[email protected]"
number:  "31113644888"
phone: "3111364"
snumber : "18400222282"
street: "Guadalupe Mero"
vinculacion: "CETSA"

Это console.info из бэкэнда данных, который возвращает

data.event.datos_personales

    datos obtenidos del backend despues del put 
{fname: 'Christian', snumber: '18400282', career: 'Mehcatronic', group: '11A', vinculacion: 'CETSA', …}
age: "26"
birth: "2001-09-09T01:30:00.000Z"
career: "Mehcatronic"
col: "El batan"
fname: "Christian"
gender: "Male"
group: "11A"
hnumber: "#2200"
mail: "[email protected]"
number: "31113644888"
phone: "31113644800000000000000"
snumber: "18400222282"
street: "Guadalupe Mero"
vinculacion: "CETSA"

В заголовках появляется все хорошо и изменение сделано но нет. Если вам нужна дополнительная информация или другой код, такой как slice или PerDat.jsx, дайте мне знать.

Я надеюсь, что вы можете мне помочь. С уважением. у8.

🤔 А знаете ли вы, что...
JavaScript используется для разработки современных одностраничных приложений (SPA), где весь контент загружается асинхронно.


56
1

Ответ:

Решено

Я решил, ребята, я просто добавляю, куда должны идти данные в петиции axios.

const {data} = await systemApi.put(`/events/${eventId}`,{datos_personales:perdatEvent});

И работает хорошо!