2016-06-20 9 views
1

Ich habe meinen JavaScript-Code in einer js-Datei, die ich in meinem Hauptlayout einschließen. Ich möchte Ajax zu einer bestimmten benannten Route aufrufen. Da es sich um eine js-Datei handelt, kann die Blade-Syntax nicht von dort ausgeführt werden. Ich habe versucht, die URL zu schreiben, aber die URL ändert sich abhängig von der Route, die den Ajax aufruft, so dass es nicht auf den richtigen Ordner zeigt. Ich würde lieber eine Namen-Route verwenden. Irgendwelche anderen Vorschläge?Wie kann ich eine Laravel-Route in eine js-Datei einfügen

+0

Wird der Ajax von einer Taste ausgelöst, oder ...? Verwenden Sie jQuery, eckig oder nur reines Javascript? –

+0

Ich benutze reines Javascript in einer externen Datei, da viele Funktionen eingerichtet sind. – user1899829

+0

ok und wie wird der Ajax ausgelöst? –

Antwort

2

Haben Sie darüber nachgedacht, alle genannten Routen in die Ansicht zu schreiben? Machen Sie vielleicht einen Hash von Routen und machen Sie einfach den Ajax-Aufruf zu dem, den Sie gerade brauchen. Etwas wie:

var routes = { 
    'first': '{{ route('first') }}', 
    'second': '{{ route('second') }}', 
    // .... 
}; 

// Somewhere later in code 
$http.get(routes.second).then(function(result) { 
    // do something 
}); 
0

Ihrer Ansicht Datei definiert einen globalen JavaScript-Variable:

<script> 
var globalRouteName = "{{ $route }}"; 
</script> 

Und jetzt, in der JS-Datei, einfach globalRoutName als Variable verwenden.

Verwandte Themen