Php Laravel 5.4“;MethodNotAllowedHttpException“;(基本任务列表)

Php Laravel 5.4“;MethodNotAllowedHttpException“;(基本任务列表),php,forms,laravel,routing,Php,Forms,Laravel,Routing,我试着跟随Laravel的教程,尽管那里的大多数代码和目录都过时了,但我还是成功地完成了“添加任务”和表单,并在出现一些错误后显示出来 现在问题来了,删除按钮。 当我点击它时,它会显示一个“MethodNotAllowedHttpException”。 我更改了源代码以匹配最新版本的Laravel 我的表格(当前版本): 我已经尝试了4个小时来解决这个问题,改变了我的路线和形式;但是没有用。 这是我在这个网站上的第一个问题,如果这个问题出了什么问题,很抱歉 谢谢~ 编辑: 为了进一步帮助这项工作

我试着跟随Laravel的教程,尽管那里的大多数代码和目录都过时了,但我还是成功地完成了“添加任务”和表单,并在出现一些错误后显示出来

现在问题来了,删除按钮。 当我点击它时,它会显示一个“MethodNotAllowedHttpException”。 我更改了源代码以匹配最新版本的Laravel

我的表格(当前版本):

我已经尝试了4个小时来解决这个问题,改变了我的路线和形式;但是没有用。 这是我在这个网站上的第一个问题,如果这个问题出了什么问题,很抱歉

谢谢~

编辑: 为了进一步帮助这项工作,下面是完整的错误日志 改变

<form action="{{ url('task/'.$task->id) }}" method="DELETE">


因为表单方法DELETE不存在,Laravel只是用隐藏的输入“method”来“覆盖”这个方法(您可以使用“
{{method\u field('DELETE')}
”)来放置这个输入)

<form action="{{ url('task/'.$task->id) }}" method="DELETE">



因为表单方法DELETE不存在,所以Laravel只是用隐藏的输入“method”来“覆盖”这个方法(您可以使用“
{{method\u field('DELETE')}}
”)来放置这个输入。

表单dosent支持方法DELETE或Put。。。它只支持get和post方法,如果您想在laravel中实现delete,本文将帮助您
表单剂量支持方法删除或放置。。。它只支持get和post方法,如果您想在laravel中实现delete,本文将帮助您 回答: 问题在于数据库表本身,让我解释一下: 我指的是代码中称为“任务”的“任务”表(没问题) 但是,我在我的代码中将表中名为“ID”的列称为“ID”,从而产生了错误(一个新手错误)

感谢@Autista_z的指点,感谢下面所有人的指导

回答: 问题在于数据库表本身,让我解释一下: 我指的是代码中称为“任务”的“任务”表(没问题) 但是,我在我的代码中将表中名为“ID”的列称为“ID”,从而产生了错误(一个新手错误)



感谢@Autista_z的指点,感谢下面所有人的指导

您应该使用method=“post”,然后使用helper“method”字段,就像您已经使用的那样done@ClaudioLudovicoPanetta感谢您的快速响应,但将两者从“删除”更改为“发布”使删除按钮的行为类似于教程中的“添加任务”按钮;因为它返回了一个验证错误(“名称字段是必需的”),而不是从数据库中实际删除“任务”。当您已经通过
{method\u字段('delete')}
方法的隐藏字段时,您不需要
{method\u字段('delete')}
@StephenHendricks谢谢您的评论,我排除了“method\u字段”和“\u方法”可互换地选择一个或另一个;但仍然没有修复。我们在这里不做[已解决]编辑,您会添加一个自我回答吗?谢谢您应该使用method=“post”,然后使用helper“method”字段,就像您已经使用的那样done@ClaudioLudovicoPanetta感谢您的快速响应,但将两者从“删除”更改为“发布”使删除按钮的行为类似于教程中的“添加任务”按钮;因为它返回了一个验证错误(“名称字段是必需的”),而不是从数据库中实际删除“任务”。当您已经通过
{method\u字段('delete')}
方法的隐藏字段时,您不需要
{method\u字段('delete')}
@StephenHendricks谢谢您的评论,我排除了“method\u字段”和“\u方法”可互换地选择一个或另一个;但仍然没有修复。我们在这里不做[已解决]编辑,您会添加一个自我回答吗?谢谢感谢您的回答,我尝试将表单的方法从“DELETE”更改为“POST”,它返回了相同的“MethodNotAllowedHttpException”错误;当我单击“DELETE Button”@Kevinfu时,您能检查表单操作url是否正确吗?是否为帮助函数url()创建正确的url?抱歉,我对Laravel和web开发一般来说都是新手;我相信我输入的url是正确的(我遵循了教程)。不完全正确,教程中的url没有此功能,并且带有“/“开始时的普通斜杠。如果这不是问题的话。因为其他一切都没问题。非常感谢你,在阅读了你的评论之后,尽管有可能是URL(因为使用的方法都是正确的),我去了数据库,检查了表格,发现“id”字段不存在;在更改数据库表中的列名之后,它是“ID”;成功了!谢谢你,伙计D谢谢你的回答,我试着将表单的方法从“DELETE”改为“POST”,它返回了相同的“MethodNotAllowedHttpException”错误;当我点击“DELETE Button”@Kevinfu时,你能检查表单操作url是否正确吗?帮助函数url()是否正确创建正确的url?抱歉,我对Laravel和web开发一般来说都是新手;我相信我输入的url是正确的(我遵循了教程)。不完全正确,教程中的url没有此功能,并且带有“/“开始时的普通斜杠。如果这不是问题的话。因为其他一切都没问题。非常感谢你,在阅读了你的评论之后,尽管有可能是URL(因为使用的方法都是正确的),我去了数据库,检查了表格,发现“id”字段不存在;在更改数据库表中的列名之后,它是“ID”;成功了!谢谢你,伙计Di尝试了将“Delete”欺骗到表单中的方法,但遗憾的是仍然返回相同的错误…结果是URL,以及我的数据库表是如何设置的。无论如何,谢谢你的帮助,从阅读你的链接中学到了很多!我尝试了将“Delete”欺骗到表单中的方法,但遗憾的是仍然返回相同的错误…结果证明是t
<form action="{{ url('task/'.$task->id) }}" method="DELETE">
<form action="{{ url('task/'.$task->id) }}" method="POST">