2017-01-26 11 views
0

夜。角度2のヘッダークッキーを設定する方法

この問題は、サーバーにCookieを送信したいときに発生しました。 アイデアは、ユーザーがログインしているかどうかをチェックすることです。

このコード

isLogin(): Promise<any> { 
    let headers = new Headers; 
    headers.append('Cookies', 'autologin=abcdef;'); //this the set cookie. but not set when i check in mozilla network tap 

    return this.http.get(this.BASEURL + 'api/authentication/check', { headers: headers }) 
     .toPromise() 
     .then(res => { 
      console.log(res); 
     }) 
     .catch(err => console.log(err)); 
} 

、これは要求ヘッダです。

Host: localhost:8080 
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: en-US,en;q=0.5 
Accept-Encoding: gzip, deflate 
Access-Control-Request-Method: GET 
Access-Control-Request-Headers: set-cookie 
Origin: http://localhost:8100 

このサーバコード

public function check() 
    { 
     if ($this->auth->loggedin()) 
     { 
      $this->output 
       ->set_status_header(200) 
       ->set_content_type('application/json') 
       ->set_output(json_encode($this->session->userdata())); 
     } else { 
      $this->output 
       ->set_status_header(400) 
       ->set_content_type('application/json') 
       ->set_output(json_encode(['status' => FALSE])); 
     } 
    } 

参照してください?リクエストにクッキーはありません。助けて。これは私の頭痛をつかまえます.. XD

答えて

0

RequestOptionsオブジェクト内にHeaderオブジェクトを追加します。

isLogin(): Promise<any> { 
    let headers = new Headers; 
    headers.append('Cookies', 'autologin=abcdef;'); //this the set cookie. but not set when i check in mozilla network tap 

    let options = new RequestOptions({headers: headers}); 

    return this.http.get(this.BASEURL + 'api/authentication/check', options) 
     .toPromise() 
     .then(res => { 
      console.log(res); 
     }) 
     .catch(err => console.log(err)); 
} 

あなたが本当にあなたは(私は思う) すでにそれを解決しているので、約束を返していないが、これは、動作するはずです。

リクエストのインポート:import { RequestOptions } from '@angular/http';

+0

効果なし。 jsonというサーバーからの応答。とクッキー。
リクエストヘッダーが最初のものと同じですが、まだ含まれていないクッキー – Cecep

+0

うーん、Cookieの名前を 'Test-Header'に変更すると、 ? – Ivaro18

+0

私は試して何も得ていません 私のコンソールでこのエラーが表示されます: 'Cross-Origin Request Blocked:....'これはリクエストクッキーが設定できなかった問題ですか? – Cecep

関連する問題