【发布时间】:2022-11-12 13:42:39
【问题描述】:
我已经用node js做了一个应用程序并做出反应,我在namecheap上托管它们,node js上的服务器端是node.kutiza.com,客户端是finanu.kutiza.com,当我在node.kutiza.com上请求时得到一个错误的说法。
从源“http://finanu.kutiza.com”访问“http://node.kutiza.com/krankenkasse/regions”的 XMLHttpRequest 已被 CORS 策略阻止:没有“Access-Control-Allow-Origin”标头存在于请求的资源上。
var express = require('express');
var cors = require('cors');
var krankenkasse_calculator = require('./routes/krankenkasse.js');
const app = express()
app.use(cors({ origin: true, credentials: true }));
const port = 5000
app.all('/', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
next();
});
app.use('/krankenkasse', krankenkasse_calculator);
app.listen(port, () => console.log(`Example app listening on port ${port}!`))
注意:在本地主机上一切正常
【问题讨论】:
-
这回答了你的问题了吗? How to enable cors nodejs with express?
-
客户端是否发送
Origin标头?为什么要覆盖标题res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With");? -
我已经测试了你的代码。当客户端发送请求标头
Origin时,设置响应标头Access-Control-Allow-Origin。否则没有设置。那么主要的问题是,这个请求头设置了吗? -
@jabaa 感谢您的回答,我不知道为什么,但首先我只有 app.use(cors()) 而不是我尝试添加到代码中的很多东西,但我不知道为什么它不起作用。
-
问题不在代码中。代码原样工作正常,即使它包含一些废话。问题出在其他地方。您是否正在部署旧版本?你为什么选择
origin: true?
标签: javascript node.js reactjs