Ich versuche, eine einfache Suchfunktion für Lernzwecke zu programmieren, aber ich kann es nicht schaffen.Wie implementiert man eine einfache Suchfunktionalität mit Ajax in Laravel korrekt?
Was ich jetzt möchte ist einfach, einige Daten (zu einer Controller-Funktion) in einer Blade-Ansicht mit Ajax zu übergeben und dann diese Daten in einer anderen Ansicht über die gleiche Controller-Funktion anzuzeigen.
Was ich derzeit haben, ist dies:
Routen:
Route::get('/search-results', '[email protected]')->name('search');
search
in HomeController
:
public function search(Request $request){
$data = $request->data;
return view('search-results')->with('data',$data);
}
die search-results
Ansicht
@extends('layouts.app')
@section('content')
<h1>{{$data}}</h1>
@endsection
Und schließlich die Ajax:
var data = "success";
$.ajax({
url: 'search-results',
type: "get",
data: {data : data},
success: function(response){
if(data == "success")
console.log(response);
}
});
Kann mir jemand helfen, diese Arbeit zu machen? Ich bin nicht sicher, was ich falsch mache ...
Versuchen Sie, die Seite mit den angezeigten Suchergebnissen neu zu laden, oder aktualisieren Sie die Seite, auf der Sie sich befinden, ohne die gesamte Seite neu zu laden/zu navigieren? – arbuthnott
@arbuthnott Mein Ajax ist auf einer Seite und nach einem Klick wird der Ajax ausgeführt und dann möchte ich die Ergebnisse auf einer anderen Seite zeigen - in meinem Fall Suchergebnisse. Mein Ajax ist in der "home" Ansicht –
in diesem Fall sollten Sie wirklich etwas wie ein HTML-Formular verwenden und es in Ihre Such-URL veröffentlichen. ajax dient dazu, beim Abrufen der Ergebnisse vom Server auf derselben Seite zu bleiben. (Ich kann eine Antwort in dieser Richtung liefern, wenn keine ähnlichen Antworten angezeigt werden). – arbuthnott