我是Laravel 5.5中新命名的路由器,在尝试执行表单操作时我遇到了一个奇怪的事情;
设置和说明:
我在web.php中设置路线
Route::post('questions/save_bulk', 'QuestionsController@save_bulk')->name('save_bulk');
Route::post('questions/store_bulk', 'QuestionsController@store_bulk')->name('store_bulk');
然后我在store_bulk
中设置save_bulk
和QuestionsController
:
public function store_bulk(Request $request)
{
//$x = some DB::selects statements;
return view('questions.store_bulk', ['x'=> $x]);
}
public function save_bulk(Request $request){
dd($request);
}
最后,这是questions.store_bulk
中的刀片形式,应该导致QuestionsController.save_bulk
:
<form method="post" action="{{route('save_bulk')}}">
{{csrf_field()}}
/* some codes and input fields */
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Submit"/>
</div>
</form>
问题
问题在于,当我提交此表单时,而不是将我带到所需的路线并执行dd($request)
,它只是刷新页面而没有我的输入,就好像Laravel采取了最后一个帖子表格返回视图questions.store_bulk
。
虽然这与我以前进入视图questions.store_bulk
的方式完全相同,但是会发生一件奇怪的事情:当我尝试检查刀片页面中的元素时,我得到以下内容:
<form method="post" action="http://127.0.0.1:8000/questions/store_bulk">
/* some codes and inputs */
</form>
在路由应该转到QuestionsController.save_bulk
的代码中,但在检查HTML时,它会转到http://127.0.0.1:8000/questions/store_bulk
,如果我在HTML中手动检查并更改路由并写入{{1}它走向正确的路线并执行http://127.0.0.1:8000/questions/save_bulk
。
问题
为什么会这样?我错过了什么吗?
注意
我在我的PC上本地使用Laravel 5.5准备一个网站。
答案 0 :(得分:2)
我遇到过与路由类似的问题..您可以更改网址...例如问题/ somethingelse / save_bulk ..所以网址不会冲突..或者运行php artisan cache:clear或view:clear incase你实现了一个页面缓存系统