请求的资源NodeJS API上不存在“ Access-Control-Allow-Origin”标头

时间:2019-07-17 14:04:57

标签: node.js angular cors

我正在使用Angular 2应用程序和NodeJS API。当我在本地主机中拥有该API时,一切都工作正常,但是我将NodeJS API发布到了真实的服务器上,当我尝试访问该API的任何方法时,都会出现该错误:

  

对预检请求的响应未通过访问控制检查:所请求的资源上没有“ Access-Control-Allow-Origin”标头

我正在检查stackoverflow中其他主题的一些答案,但没有任何帮助。

我已经把它剪掉了:

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

所以我在Access-Control-Allow-Origin标头中有“ *”,为什么我收到错误消息,指出标头中没有此标头?

谢谢。

1 个答案:

答案 0 :(得分:2)

仅使用中间件

var express = require('express')
var cors = require('cors')
var app = express()

app.use(cors())

more details