node.js - ReactJS/NodeJS CORS 请求未成功

标签 node.js reactjs apache axios

我使用 Axios 向我的 NodeJS 服务器发送请求。这是我的要求:

let url = 'http://example.com:1337/api/'

let config = {
    headers: { 
        'Content-Type': 'application/json'
    }
}

settings = (data) => {
    return axios.post(url + 'settings', JSON.stringify(data), config)
    .then( res => res.data)
    .catch(e => console.log(e))
}

在 NodeJS/ExpressJS 服务器中:

const express = require('express')
const App = express()
let bodyParser = require('body-parser')
// ... Mongoose and etc.

var cors = require('cors')


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

App.use("/data", express.static(__dirname + '/data'));

App.use(bodyParser.urlencoded({
    extended: true
}));
App.use(bodyParser.json())

App.use('/api', require('./routes/Users'))

App.listen(1337)

但是对http://example.com:1337/api/settings的请求返回(firefox):

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://example.com:1337/api/settings. (Reason: CORS request did not succeed)

感谢您的解决方案。

最佳答案

// server.js
const express = require('express');
const app = express();

const routes = require('./routes');

const PORT = process.env.PORT || 5000;

// configure body parser for AJAX requests
app.use(express.urlencoded({ extended: true }));
app.use(express.json());

app.use(routes);

//Server
app.listen(PORT, () => {
    console.log(`Server listening on port ${PORT}.`);
});

关于node.js - ReactJS/NodeJS CORS 请求未成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53063498/

相关文章:

node.js - "Database"文件在 Heroku 中被覆盖

javascript - Firebase 函数返回未定义的值,即使有 promise

javascript - 在 NestJs 中,如何根据其接口(interface)注入(inject)服务?

arrays - React useState 这里似乎不接受默认值?

node.js - 生成器权限被拒绝。无法在谷歌云上部署

reactjs - 为什么 useEffect 不能在 return 语句中访问我的状态变量?

javascript - const 关键字和方法声明的问题

apache - 如何使用 Apache httpd 重定向两个不同的端口?

java - Tomcat 5.5,每个请求是否有最大上传速度?

php - 在 $_SESSION 中存储 Doctrine 对象