laravel如何使用参数发送一个控制器的请求

时间:2016-02-27 16:32:03

标签: php laravel laravel-5

我正在开发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中有正文和endPoint

然而我收到此错误

ErrorException in RequestController.php line 11:
Missing argument 1 for App\Http\Controllers\RequestController::sendRequest()

3 个答案:

答案 0 :(得分:2)

通过Request实例访问作为POST请求的参数传递的值:

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 Documentation中阅读更多相关信息。

答案 1 :(得分:0)

试试这个:

public function sendRequest(App\Http\Requests\Request $request)
{
  //$request->all() returns array of all data
  return view('response');
}

答案 2 :(得分:-1)

我认为这是不可能的。我知道您可以将参数绑定到get请求,例如&#34; / route / route / {id}&#34;并期望控制器中的变量$ id,但对于帖子,我不确定。你可以尝试一下。