【问题标题】:Node.js: No 'Access-Control-Allow-Origin' header is present on the requested resourceNode.js:请求的资源上不存在“Access-Control-Allow-Origin”标头
【发布时间】:2021-06-08 07:12:18
【问题描述】:

我对 cors 不熟悉,这正是您所需要的。几个月前我有一个应用程序正在运行,它似乎由于 CORS 而损坏了。每次我发出请求时都会收到错误消息:“被 CORS 策略阻止:请求的资源上不存在 'Access-Control-Allow-Origin' 标头。”

这是我的服务器 cors 代码:

const express = require("express");
const jwt = require("jsonwebtoken");
const cors = require('cors');

const app = express();

// Set Port
app.set("port", process.env.PORT || 5000);

// Listen
app.listen(process.env.PORT || 5000);

// Load Middlewear
app.use(express.urlencoded({ extended: true }));
app.use(express.json()); // To parse the incoming requests with JSON payloads

// CORS HEADERS MIDDLEWARE
var corsOptions = {
    origin: '*',
    optionsSuccessStatus: 200,
  }
app.use(cors(corsOptions));

【问题讨论】:

  • 你在那里给listen打了两次电话……这很可疑。我会先尝试解决这个问题。
  • 删除了同样的问题
  • 你能提供更多细节吗?您究竟是如何发出请求的? GET,POST,HEAD,其他?使用 fetch、XHR 还是其他东西?从什么浏览器?确切的错误信息是什么?你是如何访问服务器的?直接地?或者在一些负载平衡器、代理或其他东西后面?

标签: node.js express cors


【解决方案1】:

你需要像这样让背面只接受正面

`` var corsOptions = { origin: 'http://localhost:8080' 前端ip或dns }

app.use(cors(corsOptions) ``

【讨论】:

  • 我添加了它,但仍然遇到同样的错误,没有意义
猜你喜欢
  • 2017-07-27
  • 1970-01-01
  • 2014-04-09
  • 2013-11-29
  • 2014-07-28
  • 2014-01-19
相关资源
最近更新 更多