php - 路由和 CORS(laravel 和 Backbone (ajax))

标签 php ajax cors

我无法获取我的数据路由到的 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/

相关文章:

javascript - 如何从ajax调用 Controller 并发送$_POST

javascript - jQuery $.ajax 成功触发最后

Angular Service Worker ngsw-config.json S3/Cloudflare 图像缓存 CORS 错误

php - 去除特定路由的Csrf验证

用于将 xml 解析为不带命名空间的节点的数组的 PHP 函数

php - MongoDB 对象映射 (PHP)

php - Trigger_error()上的自定义错误级别

javascript - 当我的 React 组件通过 AJAX 获取时显示加载旋转器/gif 的最佳方式?

google-chrome - 如何在浏览器的控制台中查看 CORS 飞行前选项请求?

jquery - 如何在 CORS 预检选项请求中发送自定义 header ?