5

如何设置带有 json 响应的 cookie?

我注意到,至少对我来说,以下命令是唯一可以设置 cookie 的命令:

            return Redirect::to('/')
                ->withCookie(Cookie::make('blog', $cookie_values, 1000));

当然,如果它是一个 ajax 请求,它将返回重定向的目标。

我如何将其转换为 ajax 请求并返回带有 cookie 的 json 响应?

4

2 回答 2

5

我能够使用以下代码设置一个带有 json 响应的 cookie:

            $cookie_values = array(
                'name' => Input::get('name'),
                'id' => Auth::user()->id,
                'login_success' => 1);

            if(Request::ajax())
            {                    
                $cookie = Cookie::make('blog', $cookie_values, 1000);
                $response = Response::json($cookie_values);
                $response->headers->setCookie($cookie);

                return $response;
            }
于 2013-02-22T06:12:08.243 回答
1

很好的提示!

查看 Symfony\Component\HttpFoundation\ResponseHeaderBag 还揭示了如何在 HTTP 访问控制出现问题时为 json 响应设置标头:

$response->headers->set('Access-Control-Allow-Origin', '/* your subdomain */');
于 2013-06-27T10:24:32.790 回答