【问题标题】:API calls using fetch API blocked by CORS policy issue [duplicate]使用 CORS 策略问题阻止的 fetch API 的 API 调用 [重复]
【发布时间】:2021-07-27 09:42:24
【问题描述】:

我正在尝试使用存储在远程服务器中的本地 PC 上的 API,但 CORS 一直阻止调用。但是当我在邮递员上测试这些调用时,它们会通过并且我会收到数据。 IError image 如何解决这个 CORS 问题?我附上了问题的屏幕截图,并使用了 javascript 技术堆栈来使用 API。

【问题讨论】:

  • Access-Control-Allow-Origin 是一个 response 标头。从发出请求的代码中删除它

标签: javascript cors localhost remote-server azure-api-management


【解决方案1】:

运行代理服务器以发出 API 请求并设置此自定义标头 Access-Control-Allow-Origin。

const express = require('express');
const request = require('request');

const app = express();

app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*');
  next();
});

app.get('/api/random', (req, res) => {
  request(
    { url: 'http://YOUR API HERE' },
    (error, response, body) => {
      if (error || response.statusCode !== 200) {
        return res.status(500).json({ type: 'error', message: err.message });
      }

      res.json(JSON.parse(body));
    }
  )
});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => console.log(`listening on ${PORT}`));

【讨论】:

  • 是的,它的服务器特定更改。在后端使用 cors 中间件启用域外访问网站。
猜你喜欢
  • 2021-06-22
  • 1970-01-01
  • 2021-10-15
  • 2023-01-14
  • 2020-11-15
  • 2019-04-12
  • 1970-01-01
  • 2020-01-30
  • 2022-01-25
相关资源
最近更新 更多