Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 在typescript/angular2环境中设置持久会话和在后端设置NodeJ时遇到问题_Angularjs_Node.js_Session_Typescript - Fatal编程技术网

Angularjs 在typescript/angular2环境中设置持久会话和在后端设置NodeJ时遇到问题

Angularjs 在typescript/angular2环境中设置持久会话和在后端设置NodeJ时遇到问题,angularjs,node.js,session,typescript,Angularjs,Node.js,Session,Typescript,我在前端使用typescript/angular2,在后端使用nodejs 我相信后端本身实际上没有问题。我相信问题就在前面 在angular2组件中,我使用'@angular/http'创建以下客户端 this.http .post(this.url, to_send) .map((res) => this.handleResponse(res) ); 服务器上接收到登录请求,我通过 req.session.cookie.something = "something"

我在前端使用typescript/angular2,在后端使用nodejs

我相信后端本身实际上没有问题。我相信问题就在前面

angular2组件中,我使用'@angular/http'创建以下客户端

this.http
    .post(this.url, to_send)
    .map((res) => this.handleResponse(res) );
服务器上接收到登录请求,我通过

 req.session.cookie.something = "something";
但是,当我在相同或不同的组件中再次调用服务器时:

this.http
    .post(this.url, ANOTHER_CALL)
    .map((res) => this.handleResponse(res) );
该会话在服务器端不存在(没有“某物”。该会话不是持久的)

我的问题是:来自@angular/http的this.http是否会自动处理前端的会话/cookies?我错过了什么


我真的相信问题不在后端,因为我以前用nodejs设计过类似的系统,但如果有人认为这可能是因为它能与他们一起工作,我会尝试发布。然而,同样,我相信问题一定在这里。

解决方案是在请求选项中使用
xhr.withCredentials=true

请有人帮忙。我真的需要这个,我不知道为什么会发生这种情况……我不知道你的节点代码在做什么,但你至少可以调查一下:打开你的浏览器开发工具,转到网络面板。应该有cookie的响应是否真的有设置的cookie头?后续请求是否具有cookie头?cookie是否包含它应该包含的内容?@JBNizet我在我们的项目中也面临类似的问题。我在chrome网络面板中进行了检查,看到Set cookie头返回以响应我的登录请求。登录后,我重定向到另一个页面,当发出任何新请求时,cookie头不包括在请求头中。我希望浏览器会自动添加cookie头。我是否应该采取措施确保后续请求将通过cookie头?此链接中的解决方案是否正确@rineez检查答案这里是@rineezI在设置为credentials=true后还面临另一个由于CORS导致的问题,该问题已通过此解决方案解决: