2013-02-21 40 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 */');