2017-06-24 13 views
0

こんにちは私は、ajaxを使用してアイテムを保存/作成しようとしています。Laravel 5.4 Ajax save

私は、Ajaxについてよく知らない人で、保存/作成機能を実現するために次にやらなければならないステップについて質問したいと思います。

データを取得してデータベースに保存するにはどうすればよいですか。

これまでのところ、私のAjaxのコードは次のようになります。

$(document).ready(function() { 
    $("#save-item").click(function(e) { 
     e.preventDefault(); 
     var id = $('#item-id').data('item-id'); 
     $.ajaxSetup({ 
      headers: { 
       'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'), 
      } 
     }); 

     $.ajax({ 
      url: 'joke/create', 
      type: 'post', 
      data: { 
       id: id, 
       content: $('#item').val() 
      }, 
      success: function(data) { 
       console.log("Success with data " + data); 
      }, 
      error: function(data) { 
       console.log("Error with data " + data); 
      } 
     }); 
    }); 
}); 

そして、私のコントローラは次のようになります。

public function create(Request $request) 
{ 
    $item = new Item; 

    if($data->save()) 
    { 
     return response()->json(["response" => 200, "joke" => $item]); 
    } 
    else 
    { 
     return response()->json(["response" => 400, "joke" => $item]); 
    } 
} 
+0

? – stybl

+0

データを取得してデータベースに保存するには – 35Hunne

+1

質問本体に入れます – stybl

答えて

0

は、コントローラ内部でこれを試してみてください。問題は何

$item = new Item; 
$data = $request->all(); 
$item->create($data); 

$item = new Item; 
$data = $request->all(); 

if($item->create($data)) 
{ 
    return response()->json(["response" => 200, "joke" => $item]); 
} 
else 
{ 
    return response()->json(["response" => 400, "joke" => $item]); 
} 
+0

現在のところ、ページはビューを返さず、単にjsonを返します。私は自分のajax /ビューで何を変更する必要がありますか? – 35Hunne