首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不能从请求头检索api-key

不能从请求头检索api-key
EN

Stack Overflow用户
提问于 2021-12-19 14:56:39
回答 2查看 1.5K关注 0票数 0

我在浏览器中使用Rest和fetch() API发布带有x-api-key头的数据以进行授权。我用Postman和curl测试了API,它运行得很好:

代码语言:javascript
运行
复制
curl --header "X-API-KEY: my-api-key" -d "my-request-body" -X POST http://localhost:8081/submit

但是,它不适用于fetch api。在Chrome上

代码语言:javascript
运行
复制
  const response = await fetch(url, {
    method: 'POST',
    mode: 'no-cors',
    cache: 'no-cache',
    headers: {
      'x-api-key': 'my-api-key',
      'Accept': 'text/plain',
      'Content-Type': 'text/plain'
    },
    redirect: 'follow',
    referrerPolicy: 'no-referrer',
    body: 'my-request-body'
  });

我无法从请求中检索API密钥。在我的特快路由器处理程序中:

代码语言:javascript
运行
复制
router.post('/submit', cors(), async (req,res, next) => {
  const apiKey = req.header('x-api-key');
  console.log(apiKey) // THIS GIVES undefined
  });

x-api-key req.headers 对象中也存在No 标头。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-20 06:31:12

好的。经过一段时间的挣扎之后,我发现了导致它的问题.mode: 'no-cors'自始至终都是造成它的原因。只需将其设置为mode: 'cors',由于某种原因,您就可以开始了。

票数 0
EN

Stack Overflow用户

发布于 2021-12-19 15:02:03

我看到了一个问题,不确定这是否是造成问题的原因,但是您已经在获取头中忘记了,,可能在添加,之后尝试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70412517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档