gpt4 book ai didi

node.js - 无法在 Express 中设置标题

转载 作者:太空宇宙 更新时间:2023-11-03 22:12:13 25 4
gpt4 key购买 nike

这个东西已经困扰我好几天了,我快要疯了......我无法 set.header('Access-Control-Allow-Origin') 或任何其他与此相关的 header 。我需要它来访问远程 API。我已经下载了 chrome cors 扩展,启用后一切正常。当我禁用时,我收到一个美丽的错误:请求的资源上不存在“Access-Control-Allow-Origin” header 。来源'http://localhost:8080 ' 因此不允许访问。

我已经尝试了很多东西,甚至 cors npm 模块,仍然是一样的。

这是我的代码:

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

app.use('/dist', express.static(__dirname + '/dist'));


app.use(function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
res.header('Access-Control-Allow-Headers', 'Content-Type');
next();
});

var port = process.env.PORT || 8080;


app.get('*', function(req, res, next) {
console.log(req.get('Access-Control-Allow-Origin'));
res.sendFile(__dirname + '/dist/index.html');
});


app.listen(port);
console.log('listen at ' + port);

最佳答案

请检查一下:

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

function setHeaders(res, path, stat){
res.append('Access-Control-Allow-Origin', '*');
res.append('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
res.append('Access-Control-Allow-Headers', 'Content-Type');
}

app.use('/dist', express.static(__dirname + '/dist', {setHeaders: setHeaders}));


/*app.use(function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
res.header('Access-Control-Allow-Headers', 'Content-Type');
next();
});*/

var port = process.env.PORT || 8080;


/*(app.get('*', function(req, res, next) {
console.log(req.get('Access-Control-Allow-Origin'));
res.sendFile(__dirname + '/dist/index.html');
});*/


app.listen(port);
console.log('listen at ' + port);

http://localhost:8080/dist/index.html中您可以看到之前设置的所有 header

关于node.js - 无法在 Express 中设置标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39139530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com