Creación de objetos JSON a partir de datos de formulario HTML
En el ámbito del desarrollo web, transmitir datos sin problemas a los servidores es crucial. Cuando se trata de formularios HTML, es posible que uno se encuentre con la necesidad de transmitir datos en formato JSON. Este artículo profundiza en el enfoque óptimo para lograr esto sin encontrar obstáculos.
Considere el siguiente formulario HTML como ejemplo:
Nuestro objetivo es transformar los datos de este formulario en un objeto JSON y transmitirlos al servidor al enviar el formulario.
Al principio, es posible que haya intentado una solución utilizando el siguiente código:
function submitform(){
var xhr = new XMLHttpRequest();
xhr.open(form.method, form.action, true);
xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
var j = {
"first_name":"binchen",
"last_name":"heris",
};
xhr.send(JSON.stringify(j));
}
Sin embargo, este enfoque se queda corto debido a un error crucial. En lugar de recuperar los datos del formulario, ha creado manualmente un objeto JSON de muestra. Para rectificar esto, necesitamos recopilar los datos del formulario dinámicamente.
La solución radica en aprovechar el poder de jQuery para extraer los datos del formulario como una matriz, que luego podemos convertir en una cadena JSON:
var formData = JSON.stringify($("myForm").serializeArray());
Esta línea de código captura efectivamente todos los datos del formulario y lo convierte al formato JSON deseado. Luego puede utilizar esta cadena JSON en su solicitud AJAX o, si AJAX no es una opción, incorporarla en un área de texto oculta y enviar el formulario de forma tradicional.
Además, si está transmitiendo los datos como una cadena JSON a través de un formulario HTML estándar, tenga en cuenta que es necesario decodificarlo en el lado del servidor para acceder a los puntos de datos individuales en un formato de matriz.
Al seguir este enfoque, puede enviar sin esfuerzo Objetos JSON de sus formularios HTML, lo que garantiza una transmisión de datos fluida y una comunicación eficiente con el servidor.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3