Ich habe ein PHP-Skript, das über jQuery AJAX aufgerufen wird. Ich möchte, dass das PHP-Skript die Daten im JSON-Format an das Javascript zurückgibt. Hier ist der Pseudocode im PHP-Skript:
$json = "{";
foreach($result as $addr)
{
foreach($addr as $line)
{
$json .= $line . "\n";
}
$json .= "\n\n";
}
$json .= "}";
Grundsätzlich brauche ich die Ergebnisse der beiden, damit Schleifen in $ json eingefügt werden.
php
javascript
json
AquinasTub
quelle
quelle
In den vorherigen Antworten fehlen einige Dinge:
Stellen Sie den Header in Ihrem PHP ein:
json_encode()
kann ein JavaScript- Array anstelle eines JavaScript- Objekts zurückgeben , siehe:Zurückgeben von JSON aus einem PHP-Skript
Dies kann in einigen Fällen wichtig sein, da Arrays und Objekte nicht identisch sind.
quelle
json_encode()
(wie alle Funktionen) immer etwas (einschließlichNULL
) zurückgegeben wird; Sie können die Daten drucken, verarbeiten und dann drucken, sie einer Variablen zur späteren Verwendung zuordnen, sie in einer Datei speichern usw. Weitere Informationen finden Siereturn
in PHP: Rückgabe von Werten . Sie können (und sollten!) Überprüfen, ob jede Funktion, die Sie nicht kennen, zurückgegeben wird. Weitere Informationen finden Sie in unserem Beispiel json_encode (), in dem angegeben wird, dass bei Erfolg eine JSON-codierte Zeichenfolge oder bei einem Fehler FALSE zurückgegeben wird.return json_encode($jsonArray);
es nicht funktioniert hat (AngularJS http.get hat nichts bekommen), bis ich es später bemerkte :)Es gibt einen JSON-Abschnitt in der PHP-Dokumentation. Sie benötigen jedoch PHP 5.2.0.
Wenn Sie dies nicht tun, finden Sie hier die PECL-Bibliothek, die Sie installieren können.
quelle
Normalerweise wären Sie daran interessiert, Ihre Daten auch auf der Empfangsseite zu strukturieren:
Dadurch bleiben auch die Array-Schlüssel erhalten.
Denken Sie daran, dass json_encode nur mit utf8-codierten Daten funktioniert.
quelle
Sie können Simple JSON für PHP verwenden . Es sendet die Header, die Ihnen helfen, den JSON zu fälschen.
Es sieht aus wie :
quelle
$ msg = "Sie geben einen falschen Benutzernamen oder ein falsches Passwort ein"; $ responso = json_encode ($ msg);
quelle