【问题标题】:NodeJS - No 'Access-Control-Allow-Origin' headerNodeJS - 没有“Access-Control-Allow-Origin”标头
【发布时间】:2020-10-24 08:09:28
【问题描述】:

我有一个 NodeJS express 服务器在端口 3000 上使用 https 运行,我也在 https 上调用另一个网站上的 URL,但它被 CORS 策略阻止 - “没有'Access-Control-Allow-Origin'标头是出现在请求的资源上。”

这是我的代码:

const Express = require("express");
const express = require('express');
const http = require('https');
const fs = require('fs');

var privateKey = fs.readFileSync('key.key');
var certificate = fs.readFileSync('cert.pem');
var options = {key: privateKey,cert: certificate};

var app = Express();
var users = require('./routes/users');
var notifications = require('./routes/notifications');
var events = require('./routes/events');
var projects = require('./routes/projects');

app.use('../uploads', express.static('public'));
app.use(BodyParser.json());
app.use(BodyParser.urlencoded({ extended: true }));

app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');
    next();
 });

app.use('/api/v1/users', users);
app.use('/api/v1/projects', projects);
app.use('/api/v1/events', events);
app.use('/api/v1/notifications', notifications);

var server = http.createServer(options, app);
server.listen(3000 , '0.0.0.0', function() { 
    console.log("Server started") 
});
module.exports = server;

【问题讨论】:

标签: node.js cors


【解决方案1】:

尝试使用这个...

const cors = require("cors");
const app = express();
app.use(cors());

【讨论】:

  • 这似乎不起作用,我的代码如下:prntscr.com/tb9914,也许我错过了什么......
  • 只是一个预感......你可以在添加路线之前尝试添加cors吗???
猜你喜欢
  • 2016-01-21
  • 1970-01-01
  • 2017-09-19
  • 2015-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多