СЛЕДУЮЩИЙ запрос JS.тело не определено

#javascript #reactjs #next.js #fetch

Вопрос:

не знаете, что я делаю не так?

Я становлюсь неопределенным при попытке загрузить данные моей формы в свою базу данных, данные поступают в API, не определенный, но когда я передаю их функции, она печатает то, что я хочу отправить в API в моем обработчике отправки.

 export const Quote = () =gt; {  const [formIsValid, setFormIsValid] = useState(false);  //----------------------------_FORM VALIDATION------------------------------------  const {  value: firstName,  inputBlurChangeHandler: firstNameBlur,  isValid: firstNameValid,  hasError: firstNameInputHasError,  valueChangeHandler: firstNameChangeHandler,  reset: resetFirstName,  } = useInput((value) =gt; value.trim() !== "");    **hooks amp; useEffect removed to shorten question they are same as above but different names**   console.log(formIsValid, "FORM IS VALID");    const formSubmitHandler = async (event) =gt; {  event.preventDefault();   //UNDEFINEDS  await fetch("api/dbhandler", {  method: "POST",  body: {  firstname: firstName,  secondname: secondName,  street: streetAddress,  phone: phoneNumber,  email: emailAddress,  postal: postalCode,  about: quoteDescription,  },  headers: {  "Content-Type": `text/plain`,  },  });  };  

API приходит как неопределенный в req. тело, но если я войду в консоль, значения обработчика отправки будут переданы функции, не уверен, что я делаю неправильно

 import { supabase } from "../../utils/supabaseClient";  const supabaseApiHandler = async (req, res) =gt; {  console.log(req.body.firstname);  if (req.method === "POST") {  const firstname = req.body.firstname;  const secondname = req.body.secondname;  const email = req.body.email;  const street = req.body.street;  const postal = req.body.postal;  const phone = req.body.phone;  const about = req.body.about;   const { data, error } = await supabase.from("quotes").insert([  {  firstname,  secondname,  email,  street,  postal,  phone,  about,  },  ]);  }   res.status(200).json({ name: "test" }); };  export default supabaseApiHandler;  

Комментарии:

1. Попробуйте использовать body: JSON.stringify(bodyData) .

2. не повезло с этим 🙁

3. Возможно, это связано с тем, что вы также сообщаете серверу, что ваш контент не является JSON, вы говорите ему, что это текст. Измените его на "Content-Type": "application/json" .

4. исправил это, я сделал const reqBody = { firstname: firstName, secondname: secondName, ect.... };

5. await fetch( api/dbhandler , { method: "POST", body: JSON.stringify(reqBody),