项目是laravel 5.6。我的项目有2条路线:
web.php
Route::get('testa', 'HomeController@showTestForm')->name('test');
Route::post('testa', 'HomeController@doTest');
HomeController:
public function showTestForm()
{
Log::warning('from showTestForm');
return view('test');
}
.public function doTest(Request $request)
{
Log::info('from doTest');
// return Input::all();
return view('test', [
'input' => implode(', ', Input::all()),
]);
}
test.blade.php
<form method="post" action="{{ route('test') }}">
@csrf
<input type="text" name="inputvalue">
<button type="submit" class="btn btn-primary">
merge
</button>
</form>
<div>Result</div>
@if(isset($input))
{{$input}}
@endif
为什么在route('test')上工作? 谢谢。
答案 0 :(得分:0)
编辑:
<form method="post" action="{{ route('postTest') }}">
然后使用
frame2 = new JFrame();
frame2.setBounds(100, 100, 543, 432);
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame2.getContentPane().setLayout(null);
JList list = new JList(names);
list.setVisibleRowCount(10);
JScrollPane scroller = new JScrollPane(list);
scroller.setBounds(36, 11, 161, 345);
frame2.getContentPane().add(scroller);
JList list_1 = new JList(access);
list_1.setVisibleRowCount(10);
scroller = new JScrollPane(list_1);
scroller.setBounds(356, 11, 161, 345);
frame2.getContentPane().add(scroller);
frame2.setVisible(true);
希望这会起作用
答案 1 :(得分:0)
这是因为您打错了路线。
更改:
<form method="post" action="{{ route('test') }}">
至:
<form method="post" action="{{ url('/testa') }}">
或按照之前的回答步骤操作(命名发布路线,然后称呼它)
答案 2 :(得分:0)
答案 3 :(得分:0)
即使您的表单是一个route('test')
请求,POST
仍然可以工作的原因是因为route()
只是一个帮助函数,用于生成一个URL,而您的GET
和{{ 1}}路由都使用相同的网址。
您已经在表单中指定了发布请求,并将其发送到提供的网址(在这种情况下,该网址将与您的POST
请求相同)。