我无法获取我的数据路由到的 URI。我收到 Access-Control-Allow-Origin
错误。
我读了这篇文章http://acairns.co.uk/2013/01/routing-and-cors-with-laravel-4/
他提到了几种让它发挥作用的方法,但只有一种方法对我有用。这不是一种理想的方法。
Route::resource('players', 'PlayersController');
header('Access-Control-Allow-Origin: *');
Route::get('/', function()
{
return View::make('hello');
});
上面的内容对我有用,但这就是为什么这很糟糕“这是一个糟糕的主意。这意味着 Access-Control-Allow-Origin header 位于路由之外,并且将在每个请求中设置”我显然不希望这样。
我尝试了他的解决方案,但它不起作用,我将在下面向您展示我的尝试。也许我没有以正确的方式实现它?
在filters.php中添加
App::after(function($request, $response)
{
public function __construct()
{
$this->afterFilter(function($response)
{
$response->headers->set('Access-Control-Allow-Origin', '*');
return $response;
});
}
});
我尝试将其添加到我的routes.php中
public function __construct()
{
$this->afterFilter(function($response)
{
$response->headers->set('Access-Control-Allow-Origin', '*');
return $response;
});
}
我不确定我是否将其添加到正确的位置,我想我是的。如果我是,那么它不起作用。
那么有什么方法可以尝试接收数据而不会出现该错误?
最佳答案
好吧,在问这个问题之前,我很确定我尝试过这个,也许我正在转向快速或其他什么,但是在 after
过滤器中使用它是有效的!仅供引用:它位于/app 目录内的 filters.php
中:)
App::after(function($request, $response)
{
$response->headers->set('Access-Control-Allow-Origin', '*');
});
我是从这个https://twitter.com/dhrrgn/status/288385113442623489得到的
到目前为止,我能够毫无问题地使用该响应,耶!
关于php - 路由和 CORS(laravel 和 Backbone (ajax)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21084344/