0
Ich versuche, mein Kontaktformular mit ajax.Ich fügte csrf Token in einem Meta-Tag zu. Allerdings bin ich immer noch Fehler immer 500.Laravel Ajax Formular Einreichung csrf Token funktioniert nicht
auf Kopf
<meta name="csrf-token" content="{{ csrf_token() }}">
meine Laravel Route:
Route::post('/mail',[
'uses'=>'[email protected]',
'as'=>'api.postContact'
]);
Controller-Methode
public function postContact(Requests $request)
{
if(Request::ajax()) {
$data = $request::all();
return response()->json([
'data'=>$data
]);
}
//$contact = new ContactModel($sub, $sender, $email, $body);
//ignore the fact that i am not properly utilizing variables as i am testing.
}
Ajax-Aufruf
$.ajaxSetup({
header:$('meta[name="csrf-token"]').attr('content')
});
$.ajax({
url:'http://abounde.com/mail',
type:'POST',
dataType:'json',
data:$(this).serialize(),
success:function(data){
if(data){
console.log('submitted ');
}else{
//default bg
console.log('problem submission ');
}
},
error: function(data){
console.log(data);
}
});
@ RolfPedroErnst das Laravel in der Klasse eingebaut ist, um JSON Antwort zurückzugeben –
Mögliche duplica te von [Laravel csrf Token Mismatch für Ajax POST-Anfrage] (http://stackoverflow.com/questions/32738763/laravel-csrf-token-mismatch-for-ajax-post-request) – Danh
Fehler 500 ist in der Regel kein Zeichen, dass Authentifizierung schlägt fehl, es ist eher ein Zeichen für einen Codefehler, der den Server zum Stillstand bringt. Hast du den ResponseText angeschaut? – Kjell