Laravel CORS失败了

时间:2017-12-19 09:54:14

标签: php ajax laravel cors

我有一个Laravel应用程序,它具有主域和子域设置。我已经实现了CORS:

public function handle($request, Closure $next)
{
    if (isset($_SERVER['HTTP_ORIGIN']))
        $referrer = $_SERVER['HTTP_ORIGIN'];
    else
        $referrer = request()->url();

    if($referrer == null || $referrer == 'null')
        return $next($request);

    ...

    return $next($request)
        ->header('Access-Control-Allow-Origin', $allowedUrl)
        ->header('Access-Control-Allow-Methods', '*')
        ->header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, x-csrf-token, x-auth-token, x-xsrf-token')
        ->header('Access-Control-Allow-Credentials', 'true');
}

CORS工作正常,会话通过'domain' => env('SESSION_DOMAIN', null)中的session.php分享。

我遇到的问题是如果我在开始时没有打开主域名。在那种情况下(我想),会话永远不会在域中进行,当我尝试从子域触发请求时,它无法说明存在No 'Access-Control-Allow-Origin' header

但是,当我转到我的主域example.com然后返回sub1.example.com时,它正在运行。

有没有人有类似的问题?

在服务器上调用是正常的AJAX调用,我不认为在这里附加那部分代码是相关的,但是如果它有用我可以。

0 个答案:

没有答案