我使用Angular2 http模块发送http请求。用户登录后,后端服务器将生成cookie会话,前端将使用此凭据发送请求。以下是角度代码:
get(url: string) {
let options = new RequestOptions({headers: this.headers, withCredentials: true });
return this.http.get(url, options)
}
我可以在本地环境中启动后端服务器。但是如果我连接到AWS上的远程后端服务器,它就不起作用。 从chrome网络面板,当我连接本地服务器时,我可以在请求标题中看到以下数据:
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 :(得分:-1)
Try this code:
get(url: string) {
let options = new RequestOptions({headers: this.headers, withCredentials: true });
return this.http.get(url,{ headers: headers, search: params })
}