我正在使用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标头中有“ *”,为什么我收到错误消息,指出标头中没有此标头?
谢谢。
答案 0 :(得分:2)
仅使用中间件
var express = require('express')
var cors = require('cors')
var app = express()
app.use(cors())