在Laravel 5中为非Ajax路由设置请求(不响应)标头

时间:2015-10-13 14:47:50

标签: php laravel request-headers

实际上我完全感到困惑的是,要完成和/或找到任何相关信息这是一项艰巨的任务。我的猜测是它必须是那么简单的东西,没有人不得不问它(除了我!:-)),所以我希望有人可以很容易地指出我正确的方向......

我需要在我的请求中设置标题 - 而不是在我的响应中(我已经处理了该部分),而不是Ajax路由(我已经处理了该部分)。我是如何在Laravel 5.1的内部应用程序路线上完成此操作的?

基本上,我需要附上一份授权书'标题到某些请求。 (即

$request->headers->set('Authorization', 'my-authorization-token'); 

)但是,这行代码不起作用。无论我把它放在哪里。它不适用于中间件。它并不适用于routes.php。它不能从我的控制器工作......它只是不工作期间。 (为了清楚起见,' $ request' Illuminate \ Http \ Request')。

我错过了什么?在发送请求之前/如何设置请求标头?请帮忙!提前谢谢。

3 个答案:

答案 0 :(得分:0)

这里的一些答案可能会给你一个想法,你可以根据请求调整它们:Where can I set headers in laravel

这看起来也很相似:Laravel 5 / Lumen Request Header?

答案 1 :(得分:0)

请求从客户端发送到服务器(即您的Laravel应用程序)。因此,您使用Javascript在客户端站点上设置请求标头。

Laravel文档使用jQuery设置了X-CSRF-TOKEN标头example

$.ajaxSetup({
        headers: {
            'X-MY-HEADER': 'whateveryouwant
        }
});

使用VueJS看起来像这样

Vue.http.headers.common['X-MY-HEADER'] = 'whateveryouwant';

答案 2 :(得分:0)

您需要创建一个新的请求对象,然后像这样设置标头:

// e.g., Inside controller method

$request = new \Illuminate\Http\Request();
$request->setMethod('POST'); // or whatever your request type is
$request->header('Authorization', 'my-authorization-token');