Dieses Tutorial zeigt, wie JSON -Daten über AJAX (Post -Methode) von JQuery an ein PHP -Skript gesendet werden, und dekodieren diese Daten dann in verwendbare PHP -Variablen. Während dieses Beispiels die Formulareingabe verwendet, ist der JSON -Datenursprung flexibel.
Diese AJAX-Funktion überträgt JSON-Daten in das serverseitige PHP-Skript:
$.ajax({ type: "POST", url: targetURL, async: false, data: JSON.stringify($('#form').serializeArray()), success: function(data){ console.log(data); return true; }, complete: function() {}, error: function(xhr, textStatus, errorThrown) { console.log('AJAX loading error: ' + textStatus + ' - ' + errorThrown); return false; } });
Der generierte JSON ähnelt diesem (Namenswertpaare):
data=[{"name":"product","value":"riserva shiraz wine glass"},{"name":"supid","value":"81"},{"name":"brandid","value":"60"},{"name":"blid","value":"7"},{"name":"cid","value":"381"}];
Der PHP -Code dekodiert den JSON und behandelt die Daten:
// Decode JSON string into a PHP associative array $decoded = json_decode($_POST['data'], true); // Note: Changed to $_POST // Output values: echo "Outputting values:\n"; foreach ($decoded as $value) { echo $value["name"] . "=" . $value["value"] . "\n"; } // Set values as PHP variables: echo "\nSetting variables:\n"; foreach ($decoded as $value) { $$value["name"] = $value["value"]; echo $value["name"] . "=" . $$value["name"] . "\n"; }
(Hinweis: Der ursprüngliche Code verwendet $_GET
; Dies wurde für eine Postanforderung in $_POST
korrigiert.)
häufig gestellte Fragen (FAQs)
Dieser Abschnitt befasst sich mit allgemeinen Fragen zu JQuery, PHP, AJAX und JSON -Interaktion.
Fehlerbehandlung in JQuery AJAX: Verwenden Sie die .fail()
-Methode in Ihrem Jquery Ajax -Aufruf, um Fehler anmutig zu fangen und zu behandeln. Die Rückruffunktion .fail()
empfängt Fehlerinformationen (z. B. xhr
, textStatus
, errorThrown
), die eine spezifische Fehlerbehandlung ermöglichen.
Senden Sie mehrere Daten mit JQuery Ajax: Verwenden Sie ein Objektliteral in der Option data
$.ajax()
. Schlüsselwertpaare innerhalb des Objekts stellen die zu sendenden Daten dar. PHP greift auf diese Daten über $_POST
oder $_GET
.
Verwenden von JSON -Daten, die von PHP in JQuery zurückgegeben wurden: Verwenden Sie $.parseJSON()
, um die von PHP empfangene JSON -Zeichenfolge in ein JavaScript -Objekt für den einfachen Zugriff zu konvertieren.
Synchron gegen asynchrones AJAX: jQuery Ajax ist standardmäßig asynchron (async: true
). Das Einstellen async: false
macht es synchron, dies ist jedoch im Allgemeinen entmutigt, da es den Browser blockieren kann.
Senden von JSON -Objekten von JQuery nach PHP: Verwenden Sie JSON.stringify()
in jQuery, um das JavaScript -Objekt in eine JSON -Zeichenfolge vor dem Senden zu konvertieren. PHP verwendet json_decode()
, um es zu analysieren.
Verwenden Sie Post- und RET -Methoden in jQuery ajax: Verwenden Sie $.post()
für Postanforderungen und $.get()
für GET -Anforderungen. Dies sind vereinfachte Versionen von $.ajax()
.
Inhaltstyp in jQuery ajax: Verwenden Sie die Option contentType
in $.ajax()
. Setzen Sie es für JSON auf "application/json"
.
Um erfolgreiche AJAX -Anforderungen abwickeln: Verwenden Sie die .done()
-Methode in jQuery, um erfolgreiche Antworten zu verarbeiten.
AJAX -Anforderungen stornieren: Verwenden Sie die Methode .abort()
, um eine ausstehende AJAX -Anforderung zu stornieren. Der Erfolg ist je nach Browser- und Anforderungsart garantiert.
Denken Sie daran, targetURL
durch die tatsächliche URL Ihres PHP -Skripts zu ersetzen. Ein funktionierendes Beispiel erfordert ein funktionales PHP -Skript auf einem Server.
Das obige ist der detaillierte Inhalt vonJQuery to PHP über AJAX mit JSON. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!