请求失败,同时请求标头中包含承载令牌

时间:2020-09-03 14:31:29

标签: reactjs fetch-api bearer-token

在请求标头中发送承载令牌时,我遇到了提取API的问题。问题是请求在标头中包含此令牌时失败,但在标头中没有令牌且请求可以提取时,一切正常。关于如何解决这个问题的任何想法?非常感谢您的帮助。

    ```
    const url = "https://something.com"
    const token = "something";
        const options = {
          headers: {
            Accept: "application/json",
            Authorization: "Bearer " + token
          }
        };
        fetch(url, options)
          .then((res) => {
            if (res.ok) {
              return res.json();
            } else {
              throw Error("Error!");
            }
          })
          .then((data) => {
            ...
          })
          .catch((error) => {
            ...
          });
```

1 个答案:

答案 0 :(得分:0)

尝试更改“接受”部分:

编辑: Access-Control-Allow-Origin是CORS(跨域资源共享)标头。

当站点A尝试从站点B获取内容时,站点B可以发送一个Access-Control-Allow-Origin响应标头,以告知浏览器某些原始来源可以访问此页面的内容。 (来源是域,再加上方案和端口号。)默认情况下,其他任何来源都无法访问站点B的页面。使用Access-Control-Allow-Origin标头会打开一扇门,可以按特定的请求来源进行跨域访问。

对于站点B希望使站点A可以访问的每个资源/页面,站点B应在其页面上提供响应标头:

iterator insert_after(const_iterator position, initializer_list<T> il);

在另一篇文章中找到它,可能也有帮助。

Access-Control-Allow-Origin: http://siteA.com

与令牌相关,一种传递令牌的方式是这样的:

 const options = {
    headers: {
      Content-Type: "application/json",
      Authorization: `Bearer ${token}` //Change it too
    }
 };