【问题标题】:Authorization token not sent with XMLHttpRequest未与 XMLHttpRequest 一起发送的授权令牌
【发布时间】:2019-03-15 21:31:21
【问题描述】:

您好,我正在尝试使用 XMLHttpRequest 发出 GET 请求。我发出 GET 请求以在标头(自定义)中要求授权令牌的端点。当我尝试发出请求时,不会发送授权令牌。这是代码

var xmlhttp = new XMLHttpRequest();  
xmlhttp.open("GET", "/api/rest/v1/test",true);
xmlhttp.withCredentials = true;
xmlhttp.send(null);

这是同一个站点请求。

【问题讨论】:

  • 如果是对同一个站点的请求,为什么要在整个问题的括号中加上“Save-origin policy”?
  • 您说您正在发出 GET 请求,但您的代码尝试发出 POST 请求。
  • 您说您必须在标头中包含授权令牌,但您没有提供应采用何种形式的详细信息。是饼干吗?自定义 HTTP 标头?授权标头?
  • 您的代码不包含任何会明确发送任何类型的授权令牌的内容。你做了什么让它自动发送?
  • 这是一个自定义标题

标签: javascript xmlhttprequest same-origin-policy


【解决方案1】:

我看不到你的令牌在哪里。确保您没有误解发送带有凭据为 true 的令牌。

一旦你已经有了令牌,你可以按如下方式附加它:

var xmlhttp = new XMLHttpRequest();
xmlhttp.open('POST', '/api/rest/v1/test');
xmlhttp.setRequestHeader('Authorization', 'Bearer ' + token);
xmlhttp.send(null);

【讨论】:

  • javascript 代码,就像我在“main.js / app.js 文件”中看到的那样,如何自动在请求中发送授权令牌而不在代码中定义它?
  • 您使用的是纯javascript,不是吗?这个好像是你要找的stackoverflow.com/questions/25335648/…如果你用的是框架,那么还有其他具体的方法
猜你喜欢
  • 2015-09-27
  • 2020-01-16
  • 2018-03-28
  • 1970-01-01
  • 2019-02-24
  • 2021-04-21
  • 2012-10-11
  • 2023-04-01
  • 2021-01-01
相关资源
最近更新 更多