2017-08-04 116 views
1

我正在使用Angular2 http模塊發送http請求。用戶登錄後,後端服務器將生成一個cookie會話,前端將使用此憑據發送請求。下面是角碼:Angular2 http withCredentials不起作用

get(url: string) { 
    let options = new RequestOptions({headers: this.headers, withCredentials: true }); 
    return this.http.get(url, options) 
    } 

它工作正常,我在本地環境中啓動我的後端服務器。但是,如果我連接到AWS上的遠程後端服務器,則不起作用。 從鍍鉻網板,我可以看到下面的請求頭數據時,我連我的本地服務器:

Cookie:doxygen_width=256; grafana_sess=029b64eee4853; mongo-express=s%3AeTrefMEC2AOUe5evI0LWmQzTZcgsb.n2tP7es2RtWYfNN6lhg8ZXXAc%2FAdvswTnYBlrEhgTgM; session_id=f64d1718e54ad0a0c0bccdf782d91d; _ga=GA1.1.753746608.1498715254; linkedin_oauth_75nvlf2kt3yji2_crc=null 

但是當我連接到遠程服務器我看不到在請求此cookie頭。我還檢查了那裏有會話數據的登錄響應數據。我很困惑,用相同的angularjs代碼爲什麼它不適用於遠程服務器。

回答

0

試試這個代碼:

get(url: string) { 
    let options = new RequestOptions({headers: this.headers, withCredentials: true }); 
    return this.http.get(url,{ headers: headers, search: params }) 
    } 
+0

這裏我就不明白'options'。似乎沒有人使用這些選項。 –