Javascript 在XMLHttpRequest中使用相同的会话

Javascript 在XMLHttpRequest中使用相同的会话,javascript,html,session,Javascript,Html,Session,我试图向服务器重复请求。但是每个请求都是用不同的会话ID完成的。我已经搜索了很多,但不知道如何搜索。我试图在请求中设置Keep-Alive,但它不接受说“不安全头”的头 我就是这样做的 request = new XMLHttpRequest(); request.open("POST", HOST, true); request.send("test"); 但每次调用send时,服务器端的会话ID都不同。如何使用JavaScript在同一个会话中发出请求?事实证明,这是一种设置 reques

我试图向服务器重复请求。但是每个请求都是用不同的会话ID完成的。我已经搜索了很多,但不知道如何搜索。我试图在请求中设置Keep-Alive,但它不接受说“不安全头”的头

我就是这样做的

request = new XMLHttpRequest();
request.open("POST", HOST, true);
request.send("test");

但每次调用send时,服务器端的会话ID都不同。如何使用JavaScript在同一个会话中发出请求?

事实证明,这是一种设置

request.withCredentials = true;

帮助我保留会话。

您不能,必须在服务器上完成。@Teemu那么会话处理背后的逻辑是什么?我能够在服务器端处理会话,但如果每个请求都带有不同的会话ID,而不管是浏览器还是选项卡,这又有什么意义呢?我能够在Java应用程序中做到这一点,但我对HTML和Javascript非常陌生。非常感谢您的帮助。这取决于您的服务器端语言。@Teemu我使用的是Java Servlet。我已经用Java实现了类似的概念。我可以在同一个会话中重复发出请求,但在JavaScript中,当收到响应时,XMLHttpRequest对象总是关闭的。我必须再次“打开”连接,这可能会创建一个新会话。即使在收到响应后,我也需要保持该对象处于打开状态。可能吗?@Teemu setting request.withCredentials=true帮助我在重复请求时保持相同的会话。我想您也可以直接设置request.session