我如何在 ajax 中设置 document.cookie?

how can i set document.cookie in ajax?

我得到的错误

OPTIONS https://page/ net::ERR_EMPTY_RESPONSE

以及我确实需要使用 RequestHeader("Cookies", "test");

的原因

Login Failure: Browser did not support Cookie. Please enable Cookie.

我该怎么做才能解决这个问题?比如浏览器如何在不允许选项时发送 header ?在 post 请求之前发送 get 请求没有帮助,因为没有任何响应 cookie。

the page source code 中我认为很重要的几行。

var strCookie = document.cookie;
document.cookie = cookie;
var cookie = "Language=en" + expires + "; 
var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );

即使我通过 运行 页面控制台 chrome 选项卡中的代码绕过该错误...仍然

Please enable Cookie

所以我试过了

 var cookie = "Language=en"
document.cookie = cookie;

它有效,但在 js 文件中它甚至没有

console.log(document.cookie)

returns空! 完整代码

var cookie = "Language=en"
document.cookie = cookie;
console.log(document.cookie)
var xhr1 = new XMLHttpRequest();
xhr1.open("post", 'https://page', false);
xhr1.onreadystatechange = function() {
if (xhr1.readyState === XMLHttpRequest.DONE && xhr1.status === 200) {
var cookie = "Language=en"
document.cookie = cookie;
console.log(document.cookie)
}
}
xhr1.send("Username=test&Password=test");

脚本必须 运行 在您想要设置 cookie 的同一 url/ip 上……您不能仅使用 document.cookie = "cookie"; 为其他网站设置 cookie 也许 using something like this 你可以将两个不同的 ips 合二为一 url