PHP Laravel : Delete Data using Ajax

标签 php jquery ajax laravel

我想使用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/

相关文章:

javascript - AJAX 调用 PHP 数组 - 使用 jQuery/JSON

php - 删除PHP mysql中打印的内容

javascript - 如果我的 MVC 4 应用程序构建在 Release模式下触发,我想动态调用我的缩小的 js 文件?

javascript - jsPDF:查看PDF内容

javascript - 我可以在代码库的任何地方用 "GET"替换 "POST"方法吗?

php - 你能在 Laravel Eloquent 中使用命名参数吗

php - 需要国家/地区-州/城市数据库

jquery - 在更改时使用 Jquery 提交最接近的表单

jquery - 等待来自调用函数的 jquery ajax 回调

html - 通过 PHP/AJAX 发送 html 代码时,它会转义双引号