laravel从内部获取请求中获取数据

时间:2016-07-24 12:55:24

标签: php laravel get

我的billingController会从/billing/total

返回此信息

{"hours":23.25,"distances":209,"durations":3.5}

我想在仪表板上显示它 - 由homeController

调用

如何获取对此数据的内部获取请求?

2 个答案:

答案 0 :(得分:1)

理想情况下,您应该向AJAX发送URL来电,获取该数据并使用Javascript进行解析。

如果您仍想通过其他Laravel控制器向该URL发送请求,则应使用以下内容 -

$request = Request::create('/billing/total', 'GET');

$response = Route::dispatch($request);

如果是GET请求,或

$request = Request::create('/billing/total', 'POST');

$response = Route::dispatch($request);

如果是POST请求。

答案 1 :(得分:0)

您在任何内部Laravel请求中获取空白请求(正文/查询数据)的原因是$request实际引用当前请求(发起方)而不是新创建的请求(内部)。

以下面的示例中间件(获取请求的整个主体):

public function handle(Request $request, Closure $next)
{
    // Works for external requests (string)
    // Blank for internal requests (null)
    $request->getContent();

    // Works for all requests (array)
    $request->post(); // array
}

作为指针,用于获取单个请求元素,您可以使用$request->input('key')(查询/正文),$request->body('key')(正文)或$request->query('key')(查询)来获取。如果使用Input外观,则会遇到与上述空白值相同的问题。