Ich wäre wirklich dankbar für etwas Hilfe ... Ich habe viele Lösungen ausprobiert, die in diesem Forum veröffentlicht wurden, aber ich bekomme es nicht.
Mein Ajax-Anruf ist so etwas
$(document).ready(function() {
$("#company").click(function() {
$.ajax({
type: "POST",
dataType:'html',
url : "/company",
success : function (data) {
$("#result").html(data);
}
});
});
});
Ich rufe den Blick durch meine Route
Route::post('/company', '[email protected]');
Und Controller
public function loadContent()
{
return view('listing.company')->render();
}
Meine Firma.blade.php ist
@foreach ($companies as $company)
<div class="posting-description">
<h5 class="header"><a href="#"></a>{{$company->name}}
</h5>
<h5 class="header"> {{$company->streetaddress}} {{$company->postalcode}}</h5>
<p class="header">
<span class="red-text"> <?= $service; ?> </span> is available on <span class="green-text"><?php echo $date; ?></span>
</p>
@endforeach
Ich bekomme diesen Fehler
POST http://127.0.0.1:8234/company 419 (unknown status)
Laravel 419 post error bezieht sich normalerweise auf die Autorisierung von api.php und Token
Laravel generiert automatisch für jede aktive Benutzersitzung, die von der Anwendung verwaltet wird, ein CSRF-Token. Mit diesem Token wird überprüft, ob der authentifizierte Benutzer tatsächlich die Anforderungen an die Anwendung stellt.
Fügen Sie dies Ihrem Ajax-Anruf hinzu
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
sie können auch einige URIs in der VerifyCSRF-Token-Middleware ausschließen
protected $except = [
'stripe/*',
];
419 Fehler tritt auf, wenn Sie csrf_token nicht posten. In Ihrer Post-Methode müssen Sie dieses Token zusammen mit anderen Variablen hinzufügen.
In Ihrer Aktion müssen Sie zuerst Unternehmen laden wie folgt:
$companies = App\Company::all();
return view('listing.company')->with('companies' => $companies)->render();
Dadurch wird die Firma-Variable in der Ansicht verfügbar, und der HTML-Code sollte korrekt dargestellt werden.
Versuchen Sie, die Postman-Chrome-Erweiterung zum Debuggen Ihrer Ansicht zu verwenden.
Ich hatte das gleiche Problem und es wurde ein Problem mit der maximalen Post-Größe von PHP. Durch die Erhöhung wurde das Problem gelöst.
In Laravel können Sie view render . Ex verwenden. $ returnHTML = view ('myview') -> render (); myview.blade.php enthält Ihren Blade-Code
Hatte das gleiche Problem, das Wiederherstellen des Anwendungsschlüssels half - php artisan key:generate
Ich habe diese Fehlermeldung erhalten, als ich eine Konfigurationsdatei mit <?php
in der zweiten Zeile anstelle der ersten hatte.
Sie haben keine Daten, die Sie übermitteln! Versuchen Sie, diese Zeile zu Ihrem Ajax hinzuzufügen:
data: $('form').serialize(),
Stellen Sie sicher, dass Sie den Namen entsprechend ändern!
Auch Ihre Daten sollten innerhalb einer Formularübermittlungsfunktion übermittelt werden.
Ihr Code sollte ungefähr so aussehen:
<script>
$(function () {
$('form').on('submit', function (e) {
e.preventDefault();
$.ajax({
type: 'post',
url: 'company.php',
data: $('form').serialize(),
success: function () {
alert('form was submitted');
}
});
});
});
</script>