首页 > 解决方案 > 使用axios删除命令在laravel中不起作用

问题描述

我有删除命令的问题。我在控制台中收到此错误

 DELETE http://localhost:8000/delete/37 
405 (Method Not Allowed)

我正在使用 laratrust 来设置角色。更新和插入运行良好,问题是删除。

在我的 AdminController

  public function destroy($id)
    {
        $testUser = Auth::user();

        if ($testUser->hasRole('superadministrator')) 
        { 
        $user=User::findOrFail($id);
        $user ->delete();
        return ['message'=>'Message Deleted'];
        }
    }

Vue Js表

<tbody>
         <tr v-for="user in users" :key="user.id">
          <td>{{user.id}}</td>
           <td>{{user.name}}</td>
           <td>{{user.email}}</td>
        <td><a href="#" @click="editModal(user)"><i class="fa fa-edit text-         blue"></i></a>
           /
        <a href="#" @click="deleteUser(user.id)"><i class="fa fa-trash text-red"></i></a>

                </td>
                </tr>
                  </tbody>

方法

 deleteUser(id){
   axios.delete("delete/"+id);
   //console.log('Your form id is'+id);

  },

网络路由

Route::post('delete/{id}','AdminController@destroy');

当我尝试使用 php artisan route:list 查看我的路线时,我得到了这个 Php artisan 路线列表

trust\Middleware\LaratrustRole:superadministrator      |
|        | POST      | delete/{id}                         |
 | App\Http\Controllers\AdminController@destroy                           | web
                                                       |
|

标签: laravel

解决方案


使用删除方法定义您的路线。routes/web.php如果它被同一项目中的前端使用,它可以保留在其中

Route::delete('delete/{id}','AdminController@destroy');

推荐阅读