2013-02-21 94 views
4

如何使用json响应设置cookie?Laravel 4使用Cookie的JSON响应

我注意到,至少对我来说,下面的命令是唯一的工作是设置一个cookie:

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

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

我怎么能把这个翻译成ajax请求并返回一个json响应的cookie?

回答

3

我能够设置cookie与下面的代码的JSON响应:

  $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

大提示!

在看看Symfony的\分量\ HttpFoundation \ ResponseHeaderBag还透露,具有HTTP访问控制问题时,如何为一个JSON响应设置头:

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