2017-07-26 11 views
0

私はこのようなAJAXでlaravel関数にJSONを送信しようとしています:Laravel 5.4 500内部サーバーエラー

$.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"); 
    }); 

ペイロードは次のようになります。

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

私のルート/web.php:コントローラで

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

と私の店機能:

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

use App\Form; 

class FormBuilderController extends Controller 
{ 
    public function store(Request $request) 
    { 
     if ($request->ajax()) { 
      $fields = $request->fields; 

      //foreach ($fields as $field) { 
       $form = new Form; 

       $form->name('test'); 
       $form->json($fields); 

       $form->save(); 

       return response()->json(['success' => 'stana']); 
      //} 
     } 

     return redirect()->route('formbuilder'); 
    } 
} 

私はそれは、ログ・エラーコンソールAJAXリクエストを送信しようと、それはあなたが見ることができるように私はCSRFトークンを持っている500内部サーバーエラー を言うとき。私はその問題が何であるか分かりません。 注:私はLaravel 5.4を使用していますこれは私がここ それを考え出した

+0

500にアクセスすることができますので、私はフィールドに送りますAjaxのリクエストでフィールドペイロードの名前を変更内部エラーとは、コード自体に何か問題があることを意味します(通常は構文)。ストレージ/ログでログを確認してください。 –

+0

検査中にネットワークの500エラーのプレビューを見たことがありますか? –

+0

'Form'モデルを貼り付けることができますか? –

答えて

0

を助けるかもしれない場合、私は私が間違ってモデルの性質を保存して

それを修正するために行った事があります。それは$form->name('test')ではなく、それは$form->name = 'test'であり、jsonでも同じです。

私はフィールド上json_encodeを使用するために必要な次のことは、そう$form->json = $fields$form->json = json_encode($fields)になり、私は私$request->fields

関連する問題