Php Laravel应用程序删除表

Php Laravel应用程序删除表,php,laravel,laravel-5.2,Php,Laravel,Laravel 5.2,当我在我的Laravel应用程序中单击删除按钮时,我不确定为什么会收到NotFoundHTTPException index.blade.php <form action="/users/3" method="POST"> <input type="hidden" value="DELETE" name="_method"> <button class="btn btn-sm btn-icon btn-pure btn-default on-defa

当我在我的Laravel应用程序中单击删除按钮时,我不确定为什么会收到NotFoundHTTPException

index.blade.php

<form action="/users/3" method="POST">
    <input type="hidden" value="DELETE" name="_method">
    <button class="btn btn-sm btn-icon btn-pure btn-default on-defaul" data-original-title="Delete" data-toggle="tooltip" type="submit">
</form>
<form action="{{url('/users/3')}}" method="DELETE">
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
    <button class="btn btn-sm btn-icon btn-pure btn-default on-defaul" data-original-title="Delete" data-toggle="tooltip" type="submit">
</form>
更改表格:

<form action="/users/3" method="DELETE">
    <button class="btn btn-sm btn-icon btn-pure btn-default on-defaul" data-original-title="Delete" data-toggle="tooltip" type="submit">
</form>

您正在使用
POST
,但尚未为“DELETE”动词定义路由。可以定义一个post而不是delete路由(route::post(…),或者将表单更改为用户delete方法,如上所述

更改表格:

<form action="/users/3" method="DELETE">
    <button class="btn btn-sm btn-icon btn-pure btn-default on-defaul" data-original-title="Delete" data-toggle="tooltip" type="submit">
</form>

您正在使用
POST
,但尚未为“DELETE”动词定义路由。可以定义一个post而不是delete路由(route::post(…),或者将表单更改为用户delete方法,如上所述

您应该更改:

<form action="/users/3" method="POST">

对下列事项:

<form action="<?= route('users.delete', [$user]) ?>" method="POST">
您应该更改:

<form action="/users/3" method="POST">

对下列事项:

<form action="<?= route('users.delete', [$user]) ?>" method="POST">
index.blade.php

<form action="/users/3" method="POST">
    <input type="hidden" value="DELETE" name="_method">
    <button class="btn btn-sm btn-icon btn-pure btn-default on-defaul" data-original-title="Delete" data-toggle="tooltip" type="submit">
</form>
<form action="{{url('/users/3')}}" method="DELETE">
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
    <button class="btn btn-sm btn-icon btn-pure btn-default on-defaul" data-original-title="Delete" data-toggle="tooltip" type="submit">
</form>

UsersController.php

<?php

namespace App\Http\Controllers;

use App\User;
use Gate;
use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class UsersController extends Controller
{
    public function destroy()
    {
        return 'yes';
    }
}
<?php

namespace App\Http\Controllers;

use App\User;
use Gate;
use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class UsersController extends Controller
{
    public function destroy($id)
    {
        return 'yes';
    }
}
index.blade.php

<form action="/users/3" method="POST">
    <input type="hidden" value="DELETE" name="_method">
    <button class="btn btn-sm btn-icon btn-pure btn-default on-defaul" data-original-title="Delete" data-toggle="tooltip" type="submit">
</form>
<form action="{{url('/users/3')}}" method="DELETE">
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
    <button class="btn btn-sm btn-icon btn-pure btn-default on-defaul" data-original-title="Delete" data-toggle="tooltip" type="submit">
</form>

UsersController.php

<?php

namespace App\Http\Controllers;

use App\User;
use Gate;
use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class UsersController extends Controller
{
    public function destroy()
    {
        return 'yes';
    }
}
<?php

namespace App\Http\Controllers;

use App\User;
use Gate;
use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class UsersController extends Controller
{
    public function destroy($id)
    {
        return 'yes';
    }
}

我以为你必须用拉威尔来伪装@user3732216@user3732216你试过这个吗?表示可以删除。HTML还支持表单中的method=“DELETE”。那么问题出在哪里呢?Laravel使用方法欺骗。表单应使用方法“POST”,并有一个名为“\u method”的输入,其值为“DELETE”。虽然让HTML表单支持PUT和DELETE方法只是HTML5规范的一部分,但现在已经不是了,而且不能假设曾经支持它的浏览器会继续支持它。@patricus你是对的。我刚刚又读了一遍文件。我想你得假装和拉威尔在一起@user3732216@user3732216你试过这个吗?表示可以删除。HTML还支持表单中的method=“DELETE”。那么问题出在哪里呢?Laravel使用方法欺骗。表单应使用方法“POST”,并有一个名为“\u method”的输入,其值为“DELETE”。虽然让HTML表单支持PUT和DELETE方法只是HTML5规范的一部分,但现在已经不是了,而且不能假设曾经支持它的浏览器会继续支持它。@patricus你是对的。我刚刚又读了一遍文件。您确定它不是FoundHttpException吗?代码似乎是正确的,但可能CSRF检查有问题?或者您是否尝试在第二个get路由之前移动删除路由?能否显示
php artisan route:list
的相关输出?您确定它不是FoundHttpException吗?代码似乎是正确的,但可能是CSRF检查有问题?或者您是否尝试在第二个get路由之前移动删除路由?能否显示
php artisan路由:list
?可能是
action=“/users/3”
如果他使用的是
xampp
wamp
之类的东西,他不会指向正确的url,我以前在使用
xampp
时也经历过这种情况。如果他使用的是
xampp
wamp
之类的东西,很可能
action=“/users/3”
不会指向正确的url,我以前在使用
xampp
时遇到过这种情况。