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 に答える