【发布时间】:2018-06-21 00:05:22
【问题描述】:
我正在尝试向服务器发出重复请求。但是每个请求都使用不同的会话 ID 完成。我搜索了很多,但无法弄清楚如何。我尝试在请求中设置 Keep-Alive,但它不会接受标头说“不安全标头”。
我就是这样做的
request = new XMLHttpRequest();
request.open("POST", HOST, true);
request.send("test");
但是每次我调用 send 时,服务器端的会话 ID 都是不同的。如何使用 JavaScript 在同一会话中发出请求?
【问题讨论】:
-
你不能,这必须在服务器上完成。
-
@Teemu 那么会话处理背后的逻辑是什么?我能够在服务器端处理会话,但是如果每个请求都带有不同的会话 ID,而不管浏览器或选项卡如何,那又有什么意义呢?我可以在 Java 应用程序中做到这一点,但我对 HTML 和 Javascript 还是很陌生。如有任何帮助,我将不胜感激。
-
这取决于您的服务器端语言。
-
@Teemu 我正在使用 Java Servlet。我已经使用 Java 实现了类似的概念。我可以在同一个会话中重复发出请求,但在 JavaScript 中,XMLHttpRequest 对象在收到响应时总是关闭。我必须再次“打开”连接,这可能正在创建一个新会话。即使在收到响应后,我也需要保持该对象打开。这可能吗?
-
@Teemu 设置 request.withCredentials = true 帮助我为重复请求保持相同的会话。
标签: javascript html session