Gibt es irgendwelche Möglichkeiten, wie JavaScript die Variable vom kompakten Controller Laravel-5 erhalten kann.
Beispiel: Ich habe den folgenden Code:
%Vor%Kann ich diese Sprache erhalten und an JavaScript weitergeben? Ich habe bereits PHP-Vars-To-Js-Transformer benutzt. Aber wenn ich JavaScript :: verwende für zwei Funktionen im Controller. Es hat nicht funktioniert. Irgendwelche Hilfe?
Dies ist mein Code mit PHP-Vars-To-Js-Transformer:
Sprachcontroller: Dies ist meine Erstellungs- und Bearbeitungsfunktion:
%Vor%das ist meine Ansicht create:
%Vor%Dies ist meine Ansicht bearbeiten:
%Vor%meine javascript.php im Konfigurationsordner:
%Vor%Die Idee ist: Ich habe eine Tabellensprache in MySQL. Ich möchte die Dropdown-Liste mit mehreren Attributen anzeigen lassen und auch mit angularjs suchen. Deshalb möchte ich die Variable von Controller zu JavaScript übergeben. Zusätzlich habe ich die Funktion in LanguageController mit dem Namen initLang, um zu überprüfen, ob irgendeine Sprache in der Datenbank vorhanden ist. Sie wird nicht in der Dropdown-Liste in der Erstellungsansicht angezeigt.
Standard-PHP-Objekte
Der beste Weg, PHP-Variablen für JavaScript bereitzustellen, ist json_encode
. Wenn Sie Blade verwenden, können Sie Folgendes tun:
Es gibt auch eine Blade-Direktive für die Dekodierung nach JSON
. Ich bin mir nicht sicher, seit welcher Version von Laravel, aber in 5.5 ist es verfügbar. Verwenden Sie es wie folgt:
Jsonables
Wenn Laravel-Objekte z.B. Collection
oder Model
sollten Sie die Methode ->toJson()
verwenden. Alle diese Klassen, die die Schnittstelle \Illuminate\Contracts\Support\Jsonable
implementieren, unterstützen diesen Methodenaufruf. Der Aufruf gibt automatisch JSON
zurück.
Wenn Sie die Klasse Model
verwenden, können Sie die $hidden
-Eigenschaft in class
definieren und diese wird in JSON
gefiltert. Die Eigenschaft $hidden
, wie der Name beschreibt, blendet vertraulichen Inhalt aus. Also ist dieser Mechanismus das Beste für mich. Mach es wie folgt:
Und irgendwo in deiner Sicht
%Vor%Tags und Links javascript laravel-5