Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 路由和CORS(laravel和主干网(ajax))_Php_Ajax_Cors - Fatal编程技术网

Php 路由和CORS(laravel和主干网(ajax))

Php 路由和CORS(laravel和主干网(ajax)),php,ajax,cors,Php,Ajax,Cors,我无法获取数据路由到的URI。我得到一个访问控制允许原点错误 我读了这篇文章 他提到了几种让它工作的方法,但只有一种方法对我有效。这不是一个理想的方法 Route::resource('players', 'PlayersController'); header('Access-Control-Allow-Origin: *'); Route::get('/', function() { return View::make('hello'); }); 上面这些对我来说是可行的,但这就

我无法获取数据路由到的URI。我得到一个
访问控制允许原点
错误

我读了这篇文章

他提到了几种让它工作的方法,但只有一种方法对我有效。这不是一个理想的方法

Route::resource('players', 'PlayersController');

header('Access-Control-Allow-Origin: *');
Route::get('/', function()
{
    return View::make('hello');
});
上面这些对我来说是可行的,但这就是为什么这不好的原因“这是一个非常糟糕的主意。这意味着访问控制允许来源标头在路由之外,并且将在每个请求中设置”我显然不希望这样

我尝试了他的解决方案,但没有成功,我将在下面向您展示我的尝试。也许我没有用正确的方法实现它

添加insidefilters.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;
    });
}
我不确定我是否把它添加到了正确的位置,我想我是的。如果我是,那么它就不起作用了


那么,有没有什么方法可以在不出现错误的情况下尝试接收数据呢?

好的,所以在问这个问题之前,我很确定我尝试过这个方法,也许我是在尝试fast之类的方法,但是在
过滤器工作后在
中使用这个方法!仅供参考:它位于/app目录中的
filters.php

我从这里得到的


到目前为止,我能够毫无问题地使用该响应,耶

对不起,现在标题不是绑定到每个视图吗?如果你只把它作为一个过滤器添加到一条路线上,它不起作用吗?我试过了,但它不起作用,这篇文章的作者说,这篇文章建议的事情与我上面做的一样。我是一个laravel noobie,但在我看来,因为它在filters.php中,所以它不会绑定到每个视图,只绑定到响应上。我真的不知道我说的是否正确,但这就是我心中的想法。现在一切正常,如果你有足够的证据证明这是错误的,我很乐意找到另一个解决方案。至于现在,继续前进!事实上,我重新阅读了你的评论,我真的不知道如何将它作为一个过滤器添加到一个路由。我会运行Route::filter()吗;还是什么?我看了一个关于这个的教程,但我不确定。IDK现在起作用了,我想这才是最重要的:)
App::after(function($request, $response)
{
    $response->headers->set('Access-Control-Allow-Origin', '*');
});