Javascript 我能';我不能让Cors中间件在我的Node.js应用程序中工作
我正在尝试使用,但它不起作用 我遵循了文档中的简单说明,但我仍然遇到了这个可怕的错误Javascript 我能';我不能让Cors中间件在我的Node.js应用程序中工作,javascript,node.js,express,cors,Javascript,Node.js,Express,Cors,我正在尝试使用,但它不起作用 我遵循了文档中的简单说明,但我仍然遇到了这个可怕的错误 对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。起源'http://localhost:63342因此,不允许访问。 有人能帮我吗?这是我的后端API的index.js文件,我尝试在其中实现中间件 const express = require('express'); const passport = require('passport'); const http = requ
对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。起源'http://localhost:63342因此,不允许访问。
有人能帮我吗?这是我的后端API的index.js文件,我尝试在其中实现中间件
const express = require('express');
const passport = require('passport');
const http = require('http');
const morgan = require('morgan');
const LocalStrategy = require('passport-local').Strategy;
let path = require('path');
let mongoose = require('mongoose');
let config = require('./config/config');
let bodyParser = require('body-parser');
let recipeRouter = require('./routes/recipeRouter');
let userRouter = require('./routes/userRouter');
/// Here, I required the middleware.
let cors = require('cors');
const app = express();
// set up DB
mongoose.connect(config.mongoUrl);
let db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
// we're connected!
console.log("Connected correctly to server");
});
// Set up App
app.use(morgan('combined'));
/*
This is another attempt to get this to work. Tried it, but didn't work.
app.use(function(req, res, next){
const origin = req.get('origin');
res.header('Access-Control-Allow-Origin', "*");
res.header('Access-Control-Allow-Methods', 'GET, PUT, POST, DELETE');
/// res.header('Access-Control-Allow-Methods', true);
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization, Cache-Control, Pragma, x-auth');
});
*/
/// Here I try to apply the middleware.
app.use(cors());
app.use(bodyParser.json({ limit: '50mb' }));
app.use(bodyParser.urlencoded({ extended: false, limit: '50mb' }));
// !! NEW !! //
app.use(express.static(path.join(__dirname, 'public')));
app.use('/users', userRouter);
app.use('/recipes',recipeRouter);
// Set up Server
const port = process.env.PORT || 3000;
const server = http.createServer(app);
server.listen(port);
有人能帮忙吗?我遗漏了什么吗?也许既然你已经解决了问题,你应该通过分享你的解决方案来回馈你刚刚请求帮助的社区。最可能发生的情况是,
选项
调用失败,因为你的api出现了异常。因此,永远不会发送cors头,服务器会以500和no cors头响应。您能否确认在调用OPTIONS
时您的服务器没有崩溃?也许既然您已经解决了问题,您应该通过共享解决方案来回馈您刚才请求帮助的社区。最可能发生的情况是OPTIONS
调用失败,因为您的api出现异常。因此,永远不会发送cors头,服务器会以500和no cors头响应。您能否确认在调用选项时服务器没有崩溃?