我正在尝试在请求完成后立即结束会话但是会话保持打开状态,因为当我在新选项卡上打开URL时,它与我正在发出请求的用户一起登录,即使我已记录它使用不同的用户,在发出http请求后,用户在http请求中变为1。我想要的是,一旦提出请求并重置表单,就应该关闭会话。
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4 && this.status === 201) {
//xhr.abort(); not working
//xhr.open("POST", "URL");
//xhr.setRequestHeader("authorization", "Basic aaaaa"); not working
form.reset();
}
if (this.status === 404) {
form.reset();
}
});
xhr.open("POST", "URL");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("authorization", "Basic something");
xhr.setRequestHeader("cache-control", "no-cache");
xhr.send(data);
使用xhr.abort也无效。任何想法如何在请求后关闭会话
答案 0 :(得分:0)
问题可能是您已应用async
选项。该选项已被弃用。我已经完成的研究表明,.abort();
应该有效。
第一
xhr.open("POST", "URL",true);
成:
xhr.open("POST", "URL");
然后,它应该工作:
xhr.abort();
http://help.dottoro.com/ljomfaxv.php
或者你可以尝试将xhr变量归零。
xhr = null;
答案 1 :(得分:0)
xhr.withCredentials = true;
删除后,一切正常。