拉拉维尔如何发送请求 o 一个带参数的控件


laravel how to send request o a controlle with parameter

>我正在研究 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,我不确定。不过你可以试试。