>我正在研究 laravel 5
这是我的控制器
<?php
namespace App'Http'Controllers;
use App'User;
use App'Http'Controllers'Controller;
class RequestController extends Controller
{
public function sendRequest($endPoint, $body)
{
return view('response', "d");
}
}
?>
在我的路线中,我是这样处理的:
Route::post("/request/send", 'RequestController@sendRequest');
然后在我的 HTML 中,我这样做
<form method="post" action="/request/send">
<textarea id="code" contentEditable="true" name="body"></textarea>
<input type="text" value="d" name="endPoint" />
<input type="button" id="formattCode" value="format"/>
<input type="submit" value="send"/>
</form>
如您所见,我的 html 中确实有正文和终点
但是我收到此错误
ErrorException in RequestController.php line 11:
Missing argument 1 for App'Http'Controllers'RequestController::sendRequest()
访问作为 POST 请求的参数传递的值是通过Request
实例完成的:
namespace App'Http'Controllers;
use App'User;
use App'Http'Controllers'Controller;
use Illuminate'Http'Request;
class RequestController extends Controller
{
public function sendRequest(Request $request)
{
$endPoint = $request->input('endPoint');
$body = $request->input('body');
// Do your stuff
}
}
您可以在Laravel HTTP Requests文档中阅读更多相关信息。
试试这个:
public function sendRequest(App'Http'Requests'Request $request)
{
//$request->all() returns array of all data
return view('response');
}
我认为这是不可能的。我知道您可以将参数绑定到 get 请求,例如"/route/route/{id}",并期望控制器中出现变量$id,但对于 post,我不确定。不过你可以试试。