2016-06-04 11 views
0

Ich schreibe eine kleine App mit eckigen. Ich muss auf eine Couch-Datenbank zugreifen. Ich habe nur einen Benutzer in dieser DB. Mit cURL-Befehlen kann ich ein Sitzungscookie für diese Datenbank anfordern und dieses Cookie verwenden, um ein bestimmtes Dokument anzufordern.

Wenn in Winkel Code verwende ich:

$http.post(url, data).then(...); 

Wo 'data' Benutzername und Passwort hat, kann ich das Cookie mit Chrom (wie in diesem Bild chrome dev tool output) sehen, aber in einem Code, kann ich‘ t darauf zugreifen.

Kann mir jemand dabei helfen?

+0

Wie haben Sie mithilfe von Cookies auf die Datenbank zugegriffen? –

+0

Mit curl habe ich gemacht: curl -vX GET https://couchdb.cloudno.de/myDB/my_id --cookie myCookie. Mit eckigen, weil ich nicht darauf zugreifen kann, habe ich noch nicht versucht – Gabtec

Antwort

0

$ http.post gibt eine Antwort mit einer Eigenschaft:

headers - {function ([header])} - Kopf Getter-Funktion.

So sollten Sie in der Lage sein, etwas zu tun, wie

.then((response) => { 
    console.log(response.headers('set-cookie')); 
}); 

Lesen Sie die Dokumentation here

+1

Ich habe das schon versucht, aber die console.log gibt 'null' zurück. Im Image habe ich das Antwortobjekt erweitert und es hat nur 2 Header ('Accept' und 'Content-Type') – Gabtec

1

Sie können auf ein HttpOnly Cookie nicht zugreifen, das Skript in Browser aus Sicherheitsgründen verwendet. Es kann nur auf dem Server zugegriffen werden.

Wenn Sie Cookies in domänenübergreifende Anfragen einfügen müssen, verwenden Sie withCredentials in der Anfrage. Siehe $http docs