gpt4 book ai didi

javascript - 如何在 JavaScript 中使用 XMLHttpRequest 设置 Cookie( header )?

转载 作者:行者123 更新时间:2023-12-03 21:33:27 24 4
gpt4 key购买 nike

我正在尝试使用 XMLHttpRequest 在 XSS 请求中设置 Cookie。

我找到了XMLHttpRequest Specification ,第 4.6.2-5 节似乎确实建议不允许设置 Cookie、Cookie2 和其他一些 header ,但我希望有解决办法。

我的(jQuery)代码如下,但由于未设置 cookie,结果查询失败。

$.ajax( {
type : "POST",
url : URL,
data: SOAP_INBOX_MAIL_QUERY,
dataType : "xml",
async: false,
beforeSend : function(xhr) {
var cookie = credentials["COOKIE"];
console.info( "adding cookie: "+ cookie );
xhr.setRequestHeader('Cookie', cookie);
},
success : function(data, textStatus, xmLHttpRequest){


},
error : function(xhr, ajaxOptions, thrownError) {
credentials = null;
}
});

最佳答案

这是可以做到的。您需要在 $.ajax 调用中执行以下操作:

xhrFields: {
withCredentials: true
}

(请参阅 jQuery 文档),您还需要您所请求的站点支持 CORS(他们至少需要允许您的来源并设置 Access-Control- Allow-Credentials HTTP header 设置为 true)。

毫无疑问它有效。您可以通过 HTTPS、基本身份验证等来完成此操作。如果您告诉它 (xhrFields) 并且站点提供了正确的 CORS header ,jQuery 将发送所有内容(身份验证 header 、cookie)。不要放弃!

关于javascript - 如何在 JavaScript 中使用 XMLHttpRequest 设置 Cookie( header )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2320110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com