如何在xmlHTTPRequest之前将cookie值插入到Authorization标头中?

时间:2019-06-23 17:30:46

标签: javascript ajax

预期结果图像;请查看以便更好地理解:
expected result image; please view it for better understanding

请找到以下代码;当用户单击按钮时,我将获得除Authroization Header之外的所有HTTP标头,否则无法获得响应,因此我用xhttp.setRequestHeader ('Authorization', 'Bearer')对其进行了硬编码,但我需要它的值;每个用户将具有不同的授权值。 请在快照中找到所有标题。

我已经用代码对Authorization标头进行了硬编码。

<html>
<body>
<button type='button' onclick='cors()'>CORS</button>
<p id='demo'></p>
<script>
function cors() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var a = this.responseText;
document.getElementById("demo").innerHTML = a;
xhttp.open("POST", "http://xyz . com", true);
xhttp.withCredentials = true;
console.log(a);
xhttp. send("data="+a);
}
};
xhttp.open("GET", "https://api. xyz. com/v1/users/", true);
xhttp.withCredentials = true;
xhttp.setRequestHeader("Authorization", "Bearer ");
xhttp.send();

}
</script>
</body>
</html>

我只想将Cookie的[test_token]值添加到Authorization标头中;添加test_token后,标头应类似于“授权:承载test_token” 在显示响应之前,应将cookie添加到授权标头中。

1 个答案:

答案 0 :(得分:1)

你不能。

要将Cookie插入到Authorization标头中,您需要read it with JavaScript

由于cookie在传出请求上,并且是跨域请求,因此cookie设置在其他来源,因此you can't read it