PHP gibt JSON an JQUERY AJAX Call zurück
Diese Frage befasst sich mit der Integration von PHP, JQUERY und AJAX für die Formularverarbeitung und die Rückgabe von Antworten in JSON-Format.
PHP Implementierung
Der bereitgestellte PHP-Code enthält die notwendigen Funktionen zur Verarbeitung des Formulars und zur Abwicklung des E-Mail-Versands. Um JSON zurückzugeben, wird json_encode verwendet, um ein Array in einen JSON-String zu konvertieren. Das Array enthält einen Return-Schlüssel zur Erfolgs-/Fehleranzeige und einen msg1-Schlüssel zur Meldungsanzeige.
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 und AJAX
Der JQUERY-Code übernimmt die Formularvalidierung und die AJAX-Kommunikation. Es verwendet die Erfolgs- und Fehlerrückrufe, um die Antwort des PHP-Skripts zu verarbeiten. Der Code zeigt jedoch das Rohdatenobjekt an, anstatt die spezifischen JSON-Werte zu extrahieren und anzuzeigen.
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] '
');
}
}
Lösung
Um die JSON-Werte korrekt anzuzeigen, ändern Sie den Erfolgsrückruf, um die Rückgabe- und msg1-Werte aus der JSON-Antwort zu extrahieren:
success: function (data) {
alert("SUCCESS:");
$('#msgid').append('Return: ' data.return '
');
$('#msgid').append('Message: ' data.msg1 '
');
}
Mit diesen Anpassungen sollte der Code das Formular korrekt verarbeiten, die JSON-Antwort von PHP zurückgeben und die Rückgabe- und msg1-Werte extrahieren und anzeigen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3