Php Laravel应用程序删除表
当我在我的Laravel应用程序中单击删除按钮时,我不确定为什么会收到NotFoundHTTPException index.blade.phpPhp 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
<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
时遇到过这种情况。