【问题标题】:Delete command not working in laravel using axios使用axios在laravel中删除命令不起作用
【发布时间】:2023-04-03 23:14:01
【问题描述】:

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

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

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

在我的管理控制器中

  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
                                                       |
|

【问题讨论】:

  • Route::post != axios.delete 否则 Route::delete() === axios.delete
  • @KamleshPaul 谢谢我应该在 web api 中写这个吗?
  • Route::delete('delete/{id}','AdminController@destroy');

标签: laravel


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2020-08-14
    • 2018-12-24
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    • 2019-04-07
    • 2020-08-06
    • 2018-10-17
    相关资源
    最近更新 更多