2017-02-06 4 views
1

Ich versuche Session-ID mit Set-Cookie-Header festlegen. Angular 2 Code:So senden Sie Set-Cookie-Header Angular2, Ionic 2

let headers = new Headers(); //Headers 
 
headers.append('Set-Cookie', 'PHPSESSID=' + sha1(APP_CONFIG.localHost) + '; path=/'); //Setting my own cookie id 
 
let options = new RequestOptions({ //Set request options 
 
     headers: headers, 
 
     withCredentials: true 
 
}); 
 
    
 
this.http.get(url, options);

Deshalb möchte ich meine eigenen Cookie-ID auf dem Server festgelegt, aber es ist nicht in Header. enter image description here Wie geht das richtig?

Bei PHP-Server verwende ich diesen Code:

$this->app->headers 
        ->addHeader('Access-Control-Allow-Origin', 'http://localhost:8100') //Разрешаем запросы к API со всех доменов 
        ->addHeader('Access-Control-Allow-Methods', 'POST, GET, OPTIONS') 
        ->addHeader('Access-Control-Allow-Headers', 'Set-Cookie, Content-type') 
        ->addHeader('Access-Control-Allow-Credentials', 'true') 
        ->addHeader('Content-type', 'application/json; charset=utf-8'); 
+0

es ist ein Cors Issue .. wird nicht wirklich wichtig in einem Gerät .. Auf der Server-Seite. Wenn Sie 'Access-Control-Allow-Origin' einstellen, ändern Sie' * 'in' http: // localhost: 8100' Sie können '*' nicht zulassen, wenn Sie 'withCredentials' als true haben –

+0

Ich habe diesen Header zur Antwort hinzugefügt. Aber zum Set-Cookie-Header vorhanden. Was kann es sein? –

Antwort

1

Die Lösung war, dass ich Set-Cookie-Header verwenden müssen nicht. Ich muss den Cookie-Header verwenden. Aber das Problem ist, dass mein Google Chrome Browser es ablehnt. Die Lösung besteht darin, den Server mit diesem Parameter abzufragen, der session_id enthält. Und auf der Serverseite stellen Sie es ein.