如何在nodeJS服务器上允许cors



我有一个超级简单的后端与node.js,我有CORS启用。但是,我仍然不能允许跨域发送任何类型的数据。

这是我在端口3000上运行的后端:

const express = require('express');
const cors = require('cors');
const app = express();
var corsOptions = {
origin: 'http://127.0.0.1:3001',
optionsSuccessStatus: 200 // For legacy browser support
}
app.use(cors(corsOptions));
//app.use(cors()); ALSO TRIED THIS
app.listen('3000', () => {
console.log('Listening on port 3000');
});

app.get('/number', (req, res) => {
res.json({number: 1});
});

这是我如何从前端获取,运行在端口3001:

fetch('http://localhost:3000/number')
.then(res => console.log(res));

但这是我得到的响应:

Response {
body: ReadableStream
bodyUsed: false
headers: Headers {}
ok: true
redirected: false
status: 200
statusText: "OK"
type: "cors"
url: "http://localhost:3000/number"
}

但我期待:

Response {
number:1
}

我认为这主要是一个CORS问题,因为当使用邮差时一切都工作得很好。

非常感谢你的时间!

这不是cors的问题,简单地改变你的fetch像一个打击得到预期的结果。

fetch('http://localhost:3000/number')
.then(res => res.json()).then(data=>console.log(data));

结果将得到{number: 1}

相关内容

  • 没有找到相关文章

最新更新