PHP Devolviendo JSON a JQUERY AJAX Call
Esta pregunta aborda la integración de PHP, JQUERY y AJAX para el procesamiento de formularios y la devolución de respuestas en Formato JSON.
Implementación PHP
El código PHP proporcionado incluye las funciones necesarias para el procesamiento el formulario y manejo del envío de correo electrónico. Para devolver JSON, utiliza json_encode para convertir una matriz en una cadena JSON. La matriz contiene una clave de retorno para indicación de éxito/fracaso y una clave msg1 para mostrar mensajes.
1, 'msg1' => 'Message sent OK, we will be in touch ASAP');
} else {
$value = array('return' => 0, 'msg1' => 'Message Failed, please try later');
}
$output = json_encode($value);
echo $output;
?>
JQUERY y AJAX
El código JQUERY maneja la validación de formularios y la comunicación AJAX. Utiliza devoluciones de llamadas de éxito y error para manejar la respuesta del script PHP. Sin embargo, el código muestra el objeto de datos sin procesar en lugar de extraer y mostrar los valores JSON específicos.
success: function (data) {
alert("SUCCESS:");
for (var key in data) {
$('#msgid').append(key);
$('#msgid').append('=' data[key] '
');
}
},
error: function (data) {
alert("ERROR: ");
for (var key in data) {
$('#msgid').append(key);
$('#msgid').append('=' data[key] '
');
}
}
Solución
Para mostrar los valores JSON correctamente, modifique la devolución de llamada exitosa para extraer los valores de retorno y msg1 de la respuesta JSON:
success: function (data) {
alert("SUCCESS:");
$('#msgid').append('Return: ' data.return '
');
$('#msgid').append('Message: ' data.msg1 '
');
}
Con estos ajustes, el código debería procesar correctamente el formulario, devolver la respuesta JSON de PHP y extraer y mostrar los valores de retorno y msg1.
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