bladeからモーダルダイアログを表示し、javascriptで動的に生成した削除ボタンを押してデータを削除したいのですが、
うまく動作せず、以下のようなデータすら表示されなくなってしまいます。
javascript
1for (var i = 0; i < data.length; i++) { 2 $('.contents').append('<tr><td>' + data[i] + '</td><td><input type="button" class="delete" value="削除" data-delete="' + id[i] + '"></td></tr>'); //予定とidをモーダルに反映 3 } 4 5 /* Ajax で削除機能実装*/ 6 $('.delete').click(function() { 7 //クリックしたボタンのdata属性からidを取得し、同じidを削除する 8 var id = $(this).attr("data-delete"); 9 10 $.ajax({ 11 headers: { 12 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 13 }, 14 url: '/home/month/' + id, 15 type: 'POST', 16 data: {'id': {{$month - > id}},'_method': 'DELETE'} 17 }) 18 // Ajaxリクエストが成功した場合 19 .done(function(data) { 20 alert('成功'); 21 }) 22 // Ajaxリクエストが失敗した場合 23 .fail(function(data) { 24 alert('失敗'); 25 }); 26 27 })
layout.blade.php
layout.blade.php
1<head> 2 <meta name="csrf-token" content="{{ csrf_token() }}"> 3</head>
HomeController
1public function monthItemAdd(Request $request) 2 { 3 //インスタンス作成 4 $month = new Month(); 5 6 //モデルインスタンスのtask,username属性に代入 7 $month->year = $request->year; 8 $month->month = $request->month; 9 $month->day = $request->day; 10 $month->task = $request->task; 11 $month->username = $request->username; 12 13 14 //saveメソッドが呼ばれると新しいレコードがデータベースに挿入される 15 $month->save(); 16 17 return redirect('/home'); 18 } 19 public function monthItemDelete(Request $request, Month $month) 20 { 21 $month->delete(); 22 return redirect('/home'); 23 }
web.php
web.php
1Route::delete('/home/month/{month}', 'HomeController@monthItemDelete');
上記コードに誤りがある場合指摘いただけると幸いです。
おそれいりますが、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー