Übergabe von PHP-JSON-Javascript: echo für json_encode vs echo json-Erklärung

Ich versuche zu schaffen, eine gemeinsame Konstanten-Datei zu teilen zwischen php und javascript, JSON zum speichern der Konstanten. Aber ich Frage mich, warum übergeben Sie die JSON aus PHP zu javascript mit json_encode() über echo der json-Erklärung.

Sagen wir, ich habe die PHP-JSON -

<?php 

$json_obj = '{"const1": "val",
            "const2": "val2"             
                            }';

?>

Googeln, es scheint der typische Weg zurück zu javascript ist die Verwendung

<?php echo json_encode($json_obj); ?>

Dann glaube ich, ich müsste so etwas wie $.getScript() zu Lesen, die php-Datei zu bekommen $json_obj und verwenden Sie dann parseJSON() machen es einsetzbar in javascript.

Aber warum nicht stattdessen

<?php  echo 'var json = '.$json_obj; ?>

Diese Weise alles, was Sie tun müssen, ist, laden Sie das Skript direkt, und Sie haben die json-ready to direkt verwenden.

Gibt es einen bestimmten Grund, warum es günstiger ist, zu verwenden json_encode() dann einfach in Anlehnung an die Deklaration von javascript?

  • Verwenden Sie json_encode auf arrays und Objekte, was Sie da haben ist nur eine Zeichenfolge, die nicht brauchen, zu codieren.
  • Was ist, wenn die variable, die Sie wollen, speichern Sie Ihre Daten auf client-Seite ändert seinen Namen? Was, wenn Sie wollen, verwenden Sie die gleichen Daten auf mehreren Anlässen? Was ist, wenn etwas bereits ist gespeichert in der globalen variable json? ...
  • wenn Sie ein array oder gar ein Objekt, wie stdClass-Objekt, es ist einfacher zu bedienen, die Funktionen json_encode dann eine Schleife über das array/Objekt zur Ausgabe der Inhalte.
InformationsquelleAutor roverred | 2013-08-30
Schreibe einen Kommentar