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

时间:2018-09-17 05:28:26

标签: node.js express cors

我在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;

错误

  

TypeError:“尝试获取资源时出现NetworkError。”   bundle.js:132447:16

     

跨源请求被阻止:同源策略禁止阅读   http://localhost:4007/users/login上的远程资源。 (原因:   CORS请求未成功。

2 个答案:

答案 0 :(得分:2)

您可以尝试添加中间件来处理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);

答案 1 :(得分:0)

您可以在express中使用cors npm。

npm install cors

更新app.js

var express = require('express')
var cors = require('cors')
var app = express()

app.use(cors())