it-swarm.com.de

Ajax LARAVEL 419 POST Error

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)
31
Cowgirl

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/*',
    ];
66
Dhiraj

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.

3
Adnan Rasheed

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.

1
teeyo

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.

1

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

0
EXayer

Ich habe diese Fehlermeldung erhalten, als ich eine Konfigurationsdatei mit <?php in der zweiten Zeile anstelle der ersten hatte.

0
eli

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>

0
Tim Hinz