无法通过抓取设置自定义标头值

时间:2019-12-11 14:38:00

标签: reactjs fetch

我想在请求的标题中发送API KEY。我使用这样的获取方法(我在shopify模块中使用react及其它的方法):

fetch("https://shopify.mysite.fr/shopify/articles/1", {
  method: "GET",
  mode: "cors",
  headers: {
    "Content-Type": "application/json",
    "x-auth-token":"$2y$13$Kf0P46IM19qsdqk78SuB6CeuFfnonjsdfsdgsdhYvlSsf9uttNOgdjAQnZCz6y"
  }
})
  .then(res => res.json())
  .then(data => {
    this.setState({ article: data });
    console.log(data);
  })
  .catch(console.log);

问题是"x-auth-token"出现在"access-control-request-headers"字段中。我只有名称但没有值(键),我的API响应401 ...

request headers

我应该怎么做才能在api中获得x-auth-token

1 个答案:

答案 0 :(得分:0)

这是启用CORS的请求的标准行为。 在进行实际调用(使用x-auth-token标头进行获取)之前,浏览器正在执行CORS预检。这通常采用附加OPTIONS请求的形式,其中非标准标头通过access-control-request-headers标头发送,因此在实际的呼叫过程中,服务器会知道可以安全地接受此非标准标头。您的401可能意味着您的API未配置为接受跨源调用,或者它现在不是您的域名,因此阻止您访问它。