2016-07-27 111 views
21

我正在嘗試使用withCredentials向我的服務發送一個cookie,但無法找到如何實現它。 文檔說:「如果服務器需要用戶憑據,我們將在請求標題中啓用它們」沒有任何示例。 我嘗試了幾種不同的方法,但它仍然不會發送我的cookie。 這是我的代碼到目前爲止。angular 2 http withCredentials

private systemConnect(token) { 
    let headers = new Headers(); 
    headers.append('Content-Type', 'application/json'); 
    headers.append('X-CSRF-Token', token.token); 
    let options = new RequestOptions({ headers: headers }); 
    this.http.post(this.connectUrl, { withCredentials: true }, options).map(res => res.json()) 
    .subscribe(uid => { 
     console.log(uid); 
    }); 
} 

回答

39

試圖改變像你這個代碼

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

this.http.post(this.connectUrl, <stringified_data> , options)...

正如你看到的,第二個PARAM應該是要發送的數據(使用JSON.stringify或只是'')以及三分之一參數中的所有選項。

+0

非常感謝!我希望他們會將此添加到文檔中! :) – Lindstrom

+0

它已經在頭文件和RequestOptions源文件的註釋中) 直到官方API文檔還沒有準備好 - 我們必須在源代碼中使用註釋) –

+0

謝謝你將在未來中考慮到這一點:) – Lindstrom