Heim  >  Artikel  >  Backend-Entwicklung  >  Wie gehe ich mit JSON-Antworten von PHP in einem JQUERY AJAX-Aufruf richtig um?

Wie gehe ich mit JSON-Antworten von PHP in einem JQUERY AJAX-Aufruf richtig um?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-03 01:23:30776Durchsuche

How to properly handle JSON responses from PHP in a JQUERY AJAX call?

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 Umsetzung

Der bereitgestellte PHP-Code beinhaltet die notwendigen Funktionen zur Bearbeitung 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 Rückgabeschlüssel für die Erfolgs-/Fehleranzeige und einen msg1-Schlüssel für die Nachrichtenanzeige.

<code class="php"><?php

header('Content-Type: application/json');
touch('phpTouch.txt');
// process email
$email = 1;
if ($email) {
    $value = array('return' => 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;

?></code>

JQUERY und AJAX

Der JQUERY-Code übernimmt die Formularvalidierung und 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.

<code class="javascript">success: function (data) {
    alert("SUCCESS:");
    for (var key in data) {
        $('#msgid').append(key);
        $('#msgid').append('=' + data[key] + '<br />');
    }
},
error: function (data) {
    alert("ERROR: ");
    for (var key in data) {
        $('#msgid').append(key);
        $('#msgid').append('=' + data[key] + '<br />');
    }
}</code>

Lösung

Um die JSON-Werte korrekt anzuzeigen, ändern Sie die Erfolgsrückruf zum Extrahieren der Rückgabe- und msg1-Werte aus der JSON-Antwort:

<code class="javascript">success: function (data) {
    alert("SUCCESS:");
    $('#msgid').append('Return: ' + data.return + '<br />');
    $('#msgid').append('Message: ' + data.msg1 + '<br />');
}</code>

Mit diesen Anpassungen sollte der Code die korrekt verarbeiten form, geben Sie die JSON-Antwort von PHP zurück und extrahieren Sie die Rückgabe- und msg1-Werte und zeigen Sie sie an.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit JSON-Antworten von PHP in einem JQUERY AJAX-Aufruf richtig um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn