我遇到了“ Acces-Control-Allow-Origin”问题。
Access to XMLHttpRequest at 'http://localhost:5000/users' from origin 'http://localhost:5001' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
因此,我在Express服务器上添加了标题授权,以将该API公开给其他服务。
这是我的index.js文件:
const express = require('express');
const app = express();
app.use(express.json());
app.use(function(res){
res.header('Access-Control-Allow-Origin', "http://localhost:5001");
res.header('Access-Control-Allow-Mehods', 'GET, PUT, POST, DELETE');
res.header('Access-Control-Allow-Headers', 'Content-Type');
});
const users = require('./api/user');
app.use('/users', users);
const user_has_question_response = require('./api/user_has_question_response');
app.use('/user_has_question_response', user_has_question_response);
const question = require('./api/question');
app.use('/question', question);
const response = require('./api/response');
app.use('/response', response);
const port = process.env.PORT || 3000;
app.listen(port, () => console.log(`Listening on port ${port}...`));
不幸的是,我的Express服务器现在有一个无限循环。 在我的控制台上没有错误可以分析。 我该怎么办?
答案 0 :(得分:0)
我同意,您应该阅读有关CORS的信息,但是有一个名为express cors的软件包 或类似名称,您可以指定允许的来源,也可以允许所有危险的请求来源。
临时解决方案:
app.use(cors())
答案 1 :(得分:0)
使用this
示例:
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(8000, function () {
console.log('CORS-enabled web server listening on port 8000')
})