我想使用ajax从数据库中删除一些数据..我已经执行了以下步骤来运行..但是当我尝试删除时它显示以下错误:
Failed to load resource: the server responded with a status of 404 (Not Found)
这是我的路线:
Route::post('/delete/{id}',[
'uses'=>'ItemController@delete',
'as' => 'delete'
]);
这是 Controller :
public function delete($id)
{
Item::find($id)->delete();
return Redirect::back();
}
这是我的查看页面:
<html>
<head>
<title> Item List</title>
<meta name="csrf-token" content="{{ csrf_token() }}">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha/css/bootstrap.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>
<body>
<div class="container">
<h3> List Of Courses </h3></br>
<table class="table table-striped table-bordered dataTable" id="example">
<thead>
<tr>
<td>Serial No</td>
<td>Title</td>
<td>Description</td>
<td>Action</td>
</tr>
</thead>
<tbody>
<?php $i=1; ?>
@foreach($items as $row)
<tr>
<td>{{$i}}</td>
<td>{{$row->title }}</td>
<td>{{$row->description}}</td>
<td>
<button type="button" onclick="deleteItem({{ $row->id }})" id="Reco" class="btn btn-danger">Delete</button>
</td>
</tr>
<?php $i++; ?>
@endforeach
</tbody>
</table>
</div>
<script>
function deleteItem(id) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "POST",
url: '/delete/'+id,
success: function(result) {
console.log(result);
}
});
}
</script>
</body>
</html>
如果有人发现我犯的错误,希望你能帮助我找出答案。
最佳答案
通常在删除时传递参数不是一个好主意。因为我们可以通过 url 例如 /delete/4
删除数据,而您可能只想在单击删除按钮后删除。
$.ajax({
type: "POST",
url: "{{url('/delete)}}",
data:{id:id}
success: function(result) {
console.log(result);
}
});
路线:
Route::post('/delete',[
'uses'=>'ItemController@delete',
'as' => 'delete'
]);
以及 Controller
public function delete(Request $request)
{
$id=$request->id;
Item::where(['id'=>$id])->delete();
return Redirect::back();
}
关于PHP Laravel : Delete Data using Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39219090/