Nodejs:CORS 用于 POST 有效,GET 无效

问题描述 投票:0回答:1

我正在尝试从我的nodejs/express 服务器获取文件“xxx.html”的内容。 但每当我尝试使用 Javascript fetch 获取文件时:

const response = await fetch(url);
const data = await response.text();

我收到 CORS 错误:

“从源“https://docproeller.de”获取“https://rez-dev.workbest.de/rezept_camera_grid.html”的访问已被 CORS 策略阻止:无“Access-Control-Allow-Origin” ' 标头存在于请求的资源上。如果不透明响应满足您的需求,请将请求的模式设置为“no-cors”以在禁用 CORS 的情况下获取资源。”

我已经花了几个小时阅读有关cors的文章,但找不到这个问题的原因。 现在我在网上找到了一个“cors-tester”。

结果:

非常欢迎每一个帮助或提示。

服务器:

const express = require("express");
const https = require("https");
const http = require("http");
const cors = require("cors");

// Use static files
app.use(express.static('public'));

// Use json- and url-encoding
app.use(express.json());
app.use(express.urlencoded({extended:true}));

// Use CORS
// Allow all Origins
app.use(cors());

https_port=443;
sslServer = https.createServer({
      key: fs.readFileSync(path.join(ssl_server_key)),
      cert: fs.readFileSync(path.join(ssl_server_cert))
      }, app);
      sslServer.listen(https_port, () => console.log("Secure Server is listening on port " + sslServer.address().port));
node.js get cors
1个回答
0
投票

阿纳托利和其他一些消息来源的评论让我找到了正确的方向。解决方案实际上是将命令行移到更高的位置:

  // Init app
  const app = express();
  // Use CORS
  // Allow all Origins
  app.use(cors());
© www.soinside.com 2019 - 2024. All rights reserved.