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


laravel get data from internal get request

My billingController/billing/total 返回

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

我想在homeController 调用的仪表板上显示这一点

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

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

如果你仍然想通过另一个Laravel控制器向该URL发送请求,你应该使用以下-

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

如果是GET请求或

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

如果是CCD_ 9请求。

在任何内部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 facade,您将遇到与上面提到的空白值相同的问题。