Express cors在react中无法找到属性



所以我在React中工作,不断得到不同的cors错误。我在网上发现可以用快递来解决这个问题!

但是现在我一直得到以下错误:

TypeError: Cannot read property 'prototype' of undefined

我尝试了两种不同的解决方案,但它只是不工作:

var express = require('express')
var cors = require('cors')
var app = express()
app.options('*', cors())
export const fetchData = (url, key) => {

let myHeaders = new Headers();
myHeaders.append("Authorization", 'Bearer ' + key);

let requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow',
};
return fetch(url, requestOptions)
.then(response => response.json())
.then(result => result)
.catch(error => console.log('error', error))
} 

我试过的另一个是

var express = require('express')
var cors = require('cors')
var app = express()
app.use(cors())
app.get('/products/:id', function (req, res, next) {
res.json({msg: 'This is CORS-enabled for all origins!'})
})
app.listen(80, function () {
console.log('CORS-enabled web server listening on port 80')
})

谁能告诉我我做错了什么?

试着做到这两点:

app.use(cors());
app.options('*', cors());

这解决了我使用CORS的所有问题。

使用此代码解决cors错误

app.use(function(req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers,X-Access-Token,XKey,Authorization');
res.setHeader('Access-Control-Allow-Credentials', true);
res.setHeader('Cache-Control', 'no-cache, no-store, must-revalidate');
res.setHeader('Pragma', 'no-cache');
res.setHeader('Expires', 0);
next();
});

最新更新