Laravel 4 JSON响应Cookie

时间:2013-02-21 06:07:11

标签: json

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

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

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

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

我怎样才能将其转换为ajax请求并返回带有cookie的json响应?

2 个答案:

答案 0 :(得分:3)

我能够使用以下代码设置带有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;
            }

答案 1 :(得分:1)

很好的提示!

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

$response->headers->set('Access-Control-Allow-Origin', '/* your subdomain */');