当React客户端尝试获取数据时,如何解决express.js中CORS请求未成功的问题?

Pra*_*pta 4 node.js cors express

我对文件做了很多更改app.js来解决这个问题CORS request did not succeed,但我总是面临同样的问题。如何解决这个问题。我添加了我的 app.js 代码,请检查任何人。谢谢

app.js 代码

var express = require('express');

var bodyParser = require("body-parser");
var app = express();
var cors = require('cors');

const userlogin   = require('./routes/User_route');
const deviceRoutes = require("./routes/Device_route");

app.use('*', cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

app.set('port', process.env.PORT || 4007);
app.set('host', "*.*.*.*"); 

app.use("/users",userlogin);
app.use("/users", deviceRoutes);
module.exports = app;
Run Code Online (Sandbox Code Playgroud)

错误

类型错误:“尝试获取资源时出现网络错误。” Bundle.js:132447:16

跨源请求被阻止:同源策略不允许读取http://localhost:4007/users/login处的远程资源。(原因:CORS请求未成功)。

小智 6

您可以尝试添加一个中间件来处理 CORS。

//CORS middleware
var corsMiddleware = function(req, res, next) {
    res.header('Access-Control-Allow-Origin', 'localhost'); //replace localhost with actual host
    res.header('Access-Control-Allow-Methods', 'OPTIONS, GET, PUT, PATCH, POST, DELETE');
    res.header('Access-Control-Allow-Headers', 'Content-Type, X-Requested-With, Authorization');

    next();
}

app.use(corsMiddleware);
Run Code Online (Sandbox Code Playgroud)