2017-08-04 91 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'。似乎没有人使用这些选项。 –