[FIXED] Wie rendere ich eine Ansicht mit Ajax in Laravel 9

Ausgabe

Ich möchte eine Ansicht rendern, ohne meine Seite zu aktualisieren, also verwende ich Ajax und rendere die Ansicht. Es sieht so aus, als würden meine $scores nicht funktionieren, sollte es ein Array sein oder nicht? Ich habe etwas darüber gelesen, dass es JSON-Daten sein sollten?

Regler:

$scores = DB::table('scores')->select('teamname', 'score')->get();
$table_view = view('score_table.blade.php', ['scores'=>$scores])->render();
return response()->json(['succes' => true, 'table_view' => $table_view]);

Siehe score_table.blade.php

<table>
    <tr>
        <th> Teamname </th>
        <th> Score </th>
    </tr>
    @foreach($scores as $score)
        <tr>
            <td> {{ $score->teamname }} </td>
            <td> {{ $score->score }} </td>
        </tr>
    @endforeach
</table>

Ajax-Funktion

 success:function(data){
            
            $('#scoreresult').html(data.table_view);

         }

Ich war mir ziemlich sicher, dass es funktionieren würde, aber es hat nicht funktioniert :(. Wer kann mir mit einer Lösung helfen? Vielen Dank!

Lösung

Ihre Logik ist in Ordnung, aber es sind nur wenige Änderungen erforderlich.

Sie müssen nicht den vollständigen Namen der Blade-Datei übergeben und können compact verwenden.

Regler:

$scores = DB::table('scores')->select('teamname', 'score')->get();
$table_view = view('score_table', compact('scores'))->render();
return response()->json(['succes' => true, 'table_view' => $table_view]);

Bestätigen Sie auch, ob Sie den Inhaltstyp als JSON in der Ajax-Anforderung senden.

dataType: "json",
success:function(data){
      $('#scoreresult').html(data.table_view);
}


Beantwortet von –
Satyandra Shakya


Antwort geprüft von –
Katrina (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like

[FIXED] String mit Array vergleichen

Ausgabe Ich möchte eine Zeichenfolge (Postleitzahl, zB: “50000”) mit einem Array von Zeichenfolgenelementen vergleichen, und wenn das Array…