2017-07-26 3 views
0

Ich versuche json zu Laravel Funktion mit Ajax wie folgt zu senden:Laravel 5.4 500 Interner Serverfehler auf Ajax mit csrf Feld

$.ajax({ 
     url: "{{ route('store-formbuilder') }}", 
     type: 'POST', 
     data: { payload: payload, _token: "{{csrf_token()}}" } 
    }) 
    .done(function() { 
     console.log("success"); 
    }) 
    .fail(function() { 
     console.log("error"); 
    }) 
    .always(function() { 
     console.log("complete"); 
    }); 

Die Nutzlast sieht wie folgt aus:

{"fields":[{"label":"Text","field_type":"text","required":true,"field_options":{"size":"small"},"cid":"c2"}]} 

meine Routen /web.php:

Route::post('/admin/formbuilder', '[email protected]')->name('store-formbuilder'); 

und mein Speicher Funktion in der Steuerung:

Wenn ich versuche, die Ajax-Anfrage zu senden, meldet es Konsole Fehler und es sagt 500 internen Server-Fehler Ich habe die csrf-Token, wie Sie sehen können. Ich habe keine Ahnung, was das Problem sein könnte. HINWEIS: Ich verwende Laravel 5.4, ob dies

helfen
+0

A 500 Interner Fehler bedeutet, dass etwas im Code selbst falsch ist (normalerweise Syntax); Überprüfen Sie das Protokoll bei Speicher/Protokolle. –

+0

Haben Sie eine Vorschau des 500-Fehler im Netzwerk während der Inspektion gesehen? –

+0

Können Sie das 'Form' Modell einfügen? –

Antwort

0

ich es out sind hier dachte ich das, was ich das Problem beheben

tat

ich die Eigenschaften des Modells falsch sparte. Es ist nicht $form->name('test') es ist $form->name = 'test' und das gleiche für den JSON.

Das nächste, was ich brauchte json_encode auf den Feldern zu verwenden, so $form->json = $fields wird $form->json = json_encode($fields) und ich änderte den Namen des Feldes Nutzlast in der Ajax-Anforderung, die ich Felder sende so $request->fields ich darauf zugreifen kann

Verwandte Themen