Laravel表单发布到控制器

Kam*_* G. 0 php model-view-controller laravel

我是Laravel的新手,无法将数据发布到控制器。我找不到相应的文档。我想要在Laravel中做与C#MVC类似的事情。

<form action="/someurl" method="post">
<input type="text" name="someName" />
<input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)

控制者

[HttpPost]
public ActionResult SomeUrl(string someName)
{
...
}
Run Code Online (Sandbox Code Playgroud)

Sid*_*Sid 8

您应该使用路线。

你的 .html

<form action="{{url('someurl')}}" method="post">
<input type="text" name="someName" />
<input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)

routes.php

Route::post('someurl', 'YourController@someMethod');
Run Code Online (Sandbox Code Playgroud)

终于在 YourController.php

public function someMethod(Request $request)
{
   dd($request->all());  //to check all the datas dumped from the form
   //if your want to get single element,someName in this case
   $someName = $request->someName; 
}
Run Code Online (Sandbox Code Playgroud)


小智 5

这效果最好

<form action="{{url('someurl')}}" method="post">
 @csrf
<input type="text" name="someName" />
<input type="submit">
</form>

Run Code Online (Sandbox Code Playgroud)

web.php

Route::post('someurl', 'YourController@someMethod');

Run Code Online (Sandbox Code Playgroud)

并在您的控制器中

public function someMethod(Request $request)
{
   dd($request->all());  //to check all the datas dumped from the form
   //if your want to get single element,someName in this case
   $someName = $request->someName; 
}

Run Code Online (Sandbox Code Playgroud)

  • @Lexib0y 添加 `@csrf` 可防止 419“页面过期”错误 (7认同)
  • 这个答案主要是已接受答案的副本。为什么这比公认的答案更好? (2认同)