Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript react中的Express cors错误找不到属性_Javascript_Node.js_Reactjs_Express - Fatal编程技术网

Javascript react中的Express cors错误找不到属性

Javascript react中的Express cors错误找不到属性,javascript,node.js,reactjs,express,Javascript,Node.js,Reactjs,Express,所以我在React工作,不断得到不同的cors错误。在网上我发现你可以用express来解决这个问题 但现在我不断得到以下错误: TypeError:无法读取未定义的属性“prototype” 我尝试了两种不同的解决方案,但都不起作用: var express = require('express') var cors = require('cors') var app = express() app.options('*', cors()) export const fetchData =

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

但现在我不断得到以下错误:

TypeError:无法读取未定义的属性“prototype”

我尝试了两种不同的解决方案,但都不起作用:

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')
})

有人能告诉我我做错了什么吗?

使用此代码解决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();
});

尝试执行这两项操作:

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

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

我知道。对于许多人来说,这是一个忙碌的错误。为了在localhost中解决这个问题,我使用了chrome web store中提供的CORS enable扩展。@RitikSingh这些扩展对我也不起作用。。。