Laravel 资源管理器 destory方法

生成一个控制器

php artisan make:controller -r Admin/UsersController

在命名空间 Admin 下

路由如下

Route::namespace('Admin')
    ->prefix('admin')
    ->group(function () {
        Route::resource('users', 'UsersController');
    });

资源路由 文档

动作 URI 行为 路由名称
GET /photos index photos.index
GET /photos/create create photos.create
POST /photos store photos.store
GET /photos/{photo} show photos.show
GET /photos/{photo}/edit edit photos.edit
PUT/PATCH /photos/{photo} update photos.update
DELETE /photos/{photo} destroy photos.destroy

控制器内有一个destory方法,动作是DELETE

然后在a链接内无法使用delete,只有get

因此,我们可以更改路由

Route::namespace('Admin')
    ->prefix('admin')
    ->group(function () {
        Route::resource('users', 'UsersController');
        Route::get('users/{id}/delete', [
            'as' => 'users.delete',
            'uses' => 'UsersController@destroy',
        ]);
    });

添加一个路由,使其替代原控制器内delete方法


或者

使用ajax方法

html里a链接

删除

script里

    function updateBtn(node){
        var url = '/admin/users/'+node.id;
        $.ajax({
            url:url,
            type:'DELETE',
            success:function (result) {
                alert(result);
            }
        })
    }

这样就可以使用控制器内的destory方法了

不过这样需要一个验证

分别在页面内添加

<meta name="csrf-token" content="{{ csrf_token() }}">

js标签内添加

$.ajaxSetup({headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}});
即可







你可能感兴趣的:(Laravel)