PHP-Antwort auf jQuery-AJAX-Aufruf
In dieser Diskussion werden wir das Problem der Rückgabe von JSON von PHP als Reaktion auf einen AJAX-Aufruf untersuchen erstellt mit jQuery.
Problemübersicht
Der Benutzer steht vor Herausforderungen bei der Verarbeitung der JSON-Antwort, die PHP auf den AJAX-Aufruf von jQuery zurückgibt. Das Problem äußert sich durch die Meldung „Fehler: Selektor aktiviert“ und die Auflistung falscher JSON-Daten.
PHP-Codeanalyse
Der bereitgestellte PHP-Code scheint ein Array zu codieren in JSON umwandeln und das Ergebnis wiedergeben. Die Variable $output wird jedoch nicht in der Echo-Anweisung angegeben. Um den JSON korrekt auszugeben, sollte er wie folgt lauten:
<code class="php">echo $output;</code>
jQuery- und AJAX-Code
Im jQuery- und AJAX-Code wurde der dataType auf „json“ gesetzt ." Dies zeigt jQuery an, dass eine JSON-Antwort vom Server erwartet wird.
JSON-Datenauflistung
Die im Abschnitt „Auflistung der angenommenen JSON-Daten“ angezeigte Ausgabe enthält HTTP-Header und andere Metadaten, aber nicht die erwarteten JSON-Daten. Dies deutet darauf hin, dass die JSON-Antwort nicht ordnungsgemäß verarbeitet wurde.
Lösung
Um das Problem zu beheben, wird empfohlen, den PHP-Code wie folgt umzugestalten, um JSON zurückzugeben Methode:
<code class="php">header('Content-Type: application/json'); echo json_encode(array('foo' => 'bar')); exit;</code>
Dieser Ansatz setzt den HTTP-Header auf „application/json“ und codiert die gewünschten JSON-Daten, bevor sie als Echo ausgegeben werden. Dadurch wird die richtige JSON-Antwort an den jQuery-AJAX-Aufruf zurückgegeben und der Fehler „Selektor aktiviert“ sollte behoben werden.
Das obige ist der detaillierte Inhalt vonWarum erhält mein jQuery-AJAX-Aufruf die Meldung „Fehler: Selektor aktiviert' und falsche JSON-Daten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!