Tengo un proyecto muy básico con el siguiente js en este proyecto, tengo un formulario simple. cuando envío este formulario, pongo mis datos en los datos del formulario con el método de agregar y luego, cuando registro los datos de mi formulario en la consola, es un objeto vacío y me pregunto por qué sucedió esto, este es mi código
import styles from '../styles/Home.module.css' import {useState} from "react"; export default function Home() { const [inputs, setInputs] = useState({ name: '', mobile: '' }); const changeHandler = (e) => { setInputs(prev => { const cloneState = {...prev}; cloneState[e.target.name] = e.target.value; return cloneState; }); } const clickHandler = (e) => { e.preventDefault(); const formData = new FormData(); formData.append('name', inputs.name); formData.append('mobile', inputs.mobile); console.log(formData, 'FD'); } return ( <div className={styles.container}> <form> <input type="text" onChange={changeHandler} name='name'/> <input type="text" onChange={changeHandler} name='mobile'/> <button type='submit' onClick={clickHandler}>Submit</button> </form> </div> ) }gracias a todos de antemano
Si registra el objeto formData en la consola, registrará el objeto formData. Debe llamar al método 'get' para obtener los valores. Si desea obtener un json de un objeto formData, use el código a continuación.
console.log(Object.fromEntries(formData))El tipo de instancia de FormData no es un objeto JS simple, sino un objeto FormData , por lo tanto, no puede iniciar sesión directamente en la consola.
Para comprobar sus entradas, puede hacer:
[...formData.entries()].forEach(e => console.log(e))El problema relacionado con obtener valores de formData. Puede obtener datos de formData usando el método get() o getAll() para obtener todos los valores con el mismo nombre dentro de la matriz. Para obtener todos los valores de formData, puede usar for...of loop como este.
for (let value of formData.values()) { console.log(value); }Espero que esto te ayudará. Gracias)