2016-09-24 2 views
1

Ich habe mehrere Routen mit Kommentaren und wenn ich auf "Antworten" klicke, werde ich zu einer Route weitergeleitet, auf der ich eine Antwort auf einen Kommentar schreiben kann. Wie kann ich die Route, von der ich gekommen bin, korrekt speichern und dann nach dem Absenden der Antwort zurückleiten?Wie kann ich nach dem POST in Laravel richtig umleiten?

Ich überlegte, die URL :: vorhergehende als Parameter zu übergeben und es in einer versteckten Eingabe zu speichern, aber wenn die Seite vom Benutzer aufgefrischt wird, wird sie leer. Ein anderer Weg könnte in der Sitzung gespeichert werden, aber dann weiß ich nicht, wie man ihn zuverlässig ablaufen lässt ...

+1

Mache es so s $ request-> session() -> put ('vorherige-url', '/ user/demo'); $ previous_url = Sitzung :: get ('previous-url'); return redirect() -> zu ($ previous_url); – Komal

Antwort

0

Verwenden Sie return Redirect::back() Funktion für die vorherige URL.

+1

Nein, dies würde den Benutzer auf die Seite zurückbringen, auf der er seinen Kommentar geschrieben hat. –

0

können Sie verwenden return Redirect::back(); oder return Redirect::to(URL::previous() . "#whatever");

+1

Nein, dies würde den Benutzer auf die Seite zurückbringen, auf der er seinen Kommentar geschrieben hat. –

0

Sie 2-3-4-5 URLs in einer Sitzung halten, und Sie müssen es nicht auslaufen. Sie können die Anzahl der beibehaltenen URLs beschränken. Überprüfen Sie auch meine Antwort auf eine ähnliche Frage here.

1

Verwendung return redirect()->back();

+1

Nein, dies würde den Benutzer auf die Seite zurückbringen, auf der er seinen Kommentar geschrieben hat. –

0

Store-URL in der Sitzung, wenn der Benutzer Zugriffsseite, wenn Sie Ihre Antwort-Taste haben. Sie müssen es nicht ablaufen, es wird automatisch aktualisiert, wenn Benutzer die nächste Seite mit der Antwort-Schaltfläche besuchen.

session(['last_url' => 'Request::fullUrl()']); 

nicht auch vergessen Namespace

Use Request; 

verwenden Wenn Sie wirklich verwerfen Wert aus der Session wollen nach Benutzer umleitet, können Sie diese verwenden:

return redirect()->url(Session::pull('last_url')); 

Und Namespace

Use Session; 
2

R edirect zurück mit Erfolgsmeldung

return redirect()->back()->with('success', 'Data added successfully'); 
+0

Und wieder, falsche Antwort von jemandem, der Frage nicht lesen kann ... –

+0

Versuchen Sie, URL in Sitzung zu speichern und dann zu bekommen – Komal

0

einfach können Sie tun return redirect()->back();

0

wie dies tun,

Erste Shop-URL in der Sitzung

$request->session()->put('previous-url', '/user/demo'); 

Verwenden ähnliche

$previous_url = Session::get('previous-url'); 
return redirect()->to($previous_url); 
Verwandte Themen