2017-01-26 8 views
0

Ночь.Как настроить заголовок cookie с угловым 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])); 
     } 
    } 

видеть? в запросе нет файлов cookie. Помоги мне. это застряло у меня головная боль .. XD

ответ

0

Добавить объект Header в пределах объекта RequestOptions.

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

Хм, хорошо, и если вы измените имя «Cookies» на, например, «Test-Header», вы можете увидеть это или не показать ? – Ivaro18

+0

Я был судим и ничего не получал, fyi Я получаю эту ошибку на моей консоли: 'Cross-Origin Request Blocked: ....' это проблема, из-за которой файлы cookie запроса не могут быть установлены? – Cecep