Laravel 5.4 "MethodNotAllowedHttpException"(基本任务列表)
Laravel 5.4 "MethodNotAllowedHttpException" (Basic Task List)
我试图按照 Laravel 上的 this 教程进行操作,尽管那里的大部分代码和目录都已过时,但我设法将 "Add Task" 和表单制作成出现一些错误后出现。
现在是问题所在,删除按钮。
当我点击它时,它显示 "MethodNotAllowedHttpException"。
我更改了源代码以匹配 Laravel.
的最新版本
我的表格(当前版本):
<form action="{{ url('/task/'.$task->id) }}" method="POST">
{{ method_field('DELETE') }}
{{ csrf_field() }}
<button type="submit" class="btn btn-danger">
<i class="fa fa-btn fa-trash"></i>Delete
</button>
</form>
我的路线:
Route::delete('/task/{id}', function ($id) {
Task::findOrFail($id)->delete();
return redirect('/');
});
我已经尝试修复这个问题 4 个小时了,改变了我的路线和形式的方法;但无济于事。
这是我在这个网站上的第一个问题,如果这个问题有什么不对的地方,我们深表歉意。
谢谢~
编辑:
为了进一步帮助这项工作,这里是完整的错误日志
Error log, in Google Chrome
改变
<form action="{{ url('task/'.$task->id) }}" method="DELETE">
至
<form action="{{ url('task/'.$task->id) }}" method="POST">
因为表单方法 DELETE 不存在,Laravel 只是 "overwrites" 这个方法和隐藏的输入 "method" (你可以使用“{{ method_field('DELETE') }}
”放置这个输入) .
Form 不支持方法 Delete 或 Put ...它只支持 get 和 post 方法,如果你想在 laravel 中实现 delete 这篇文章将帮助你
link
回答:
原来问题出在 Database-table 本身,让我解释一下:
我指的是 'tasks' table 在代码中被称为 'task' (没问题)
但是,我在我的 table 中将一个名为 "ID" 的列称为我的代码中的 "id",从而产生了错误(菜鸟错误)。
感谢@Autista_z 的指点,以及下面其他人的指导!
我试图按照 Laravel 上的 this 教程进行操作,尽管那里的大部分代码和目录都已过时,但我设法将 "Add Task" 和表单制作成出现一些错误后出现。
现在是问题所在,删除按钮。 当我点击它时,它显示 "MethodNotAllowedHttpException"。 我更改了源代码以匹配 Laravel.
的最新版本我的表格(当前版本):
<form action="{{ url('/task/'.$task->id) }}" method="POST">
{{ method_field('DELETE') }}
{{ csrf_field() }}
<button type="submit" class="btn btn-danger">
<i class="fa fa-btn fa-trash"></i>Delete
</button>
</form>
我的路线:
Route::delete('/task/{id}', function ($id) {
Task::findOrFail($id)->delete();
return redirect('/');
});
我已经尝试修复这个问题 4 个小时了,改变了我的路线和形式的方法;但无济于事。 这是我在这个网站上的第一个问题,如果这个问题有什么不对的地方,我们深表歉意。
谢谢~
编辑: 为了进一步帮助这项工作,这里是完整的错误日志 Error log, in Google Chrome
改变
<form action="{{ url('task/'.$task->id) }}" method="DELETE">
至
<form action="{{ url('task/'.$task->id) }}" method="POST">
因为表单方法 DELETE 不存在,Laravel 只是 "overwrites" 这个方法和隐藏的输入 "method" (你可以使用“{{ method_field('DELETE') }}
”放置这个输入) .
Form 不支持方法 Delete 或 Put ...它只支持 get 和 post 方法,如果你想在 laravel 中实现 delete 这篇文章将帮助你 link
回答: 原来问题出在 Database-table 本身,让我解释一下: 我指的是 'tasks' table 在代码中被称为 'task' (没问题) 但是,我在我的 table 中将一个名为 "ID" 的列称为我的代码中的 "id",从而产生了错误(菜鸟错误)。
感谢@Autista_z 的指点,以及下面其他人的指导!