Laravel 如何修复此错误:Controller.php中的NotFoundHttpException?
我收到此错误消息: Controller.php第269行中的NotFoundHttpException:未找到控制器方法 有人能帮我修复这个错误消息吗?此处显示与错误消息相关的所有代码: HomeController.phpLaravel 如何修复此错误:Controller.php中的NotFoundHttpException?,laravel,seo,Laravel,Seo,我收到此错误消息: Controller.php第269行中的NotFoundHttpException:未找到控制器方法 有人能帮我修复这个错误消息吗?此处显示与错误消息相关的所有代码: HomeController.php public function postSeo(Request $request) { $data = array('meta_title' => $request->get('meta_title'), 'meta_
public function postSeo(Request $request)
{
$data = array('meta_title' => $request->get('meta_title'),
'meta_keyword' => $request->get('meta_keyword'),
'meta_description' => $request->get('meta_description')
);
DB::table('meta')->where('meta_id', '1')
->update($data);
return redirect('/home/article');
}
routes.php
Route::post('/home/article', [
'uses' => 'HomeController@postSeo'
]);
articles.blade.php
<label>SEO</label><br><br>
<table width="350px">
<form action="{{ action('HomeController@postSeo')}}" method="post">
{{ csrf_field() }}
<tr>
<td>Meta Title</td>
<td><input type="text" value="" name="meta_title"></td>
</tr>
<tr>
<td>Meta Keyword</td>
<td><input type="text" value="" name="meta_keyword"></td>
</tr>
<tr>
<td>Meta Description</td>
<td><input type="text" value="" name="meta_description"></td>
</tr>
<tr>
<td><br><br><input type="submit" value="update"></td>
<td></td>
</tr>
</form>
</table>
SEO
{{csrf_field()}}
标题标记
元关键字
元描述
更新后,您将重定向到/home/article
,这是一个获取路径。看起来你还没有定义这条路线。您需要添加此路由或重定向到其他地方
Route::post('/home/article', 'HomeController@postSeo');
Route::get('/home/article', 'HomeController@showSeo');
如果您不需要为此设置get路由,请找到适当的页面进行重定向。您何时会收到错误?在提交表格时?您正在重定向到
/home/article'
,提交表单时是否设置了获取路径。不,这是唯一的路线。你错过了你要重定向的路线。当您重定向到/home/article
时,需要为其定义get
路径。只需重定向到另一个位置或添加新的get route即可在更新后显示某些内容HomeController@postSeo'); 为什么我需要get和post路径?在您的postSeo
方法中,您可以执行此返回重定向('/home/article')代码>,因此您需要定义该路由,即get路由。如果您不想重定向到其他位置,那么我应该在公共函数showSeo(request$request){?}中写些什么呢?您不必创建这个路由并在那里显示一些内容。例如,您可以将用户重定向回他们更新的页面<代码>返回()代码>或返回重定向()->back()代码>我有一个简单的问题:域名之后的所有内容是否都需要路由才能继续?