Dan*_*iel 5 http-headers node.js cors express
这些东西已经困扰我好几天了,我快要疯了......我无法 set.header('Access-Control-Allow-Origin') 或任何其他与此相关的标头。我需要它来访问远程 API。我已经下载了 chrome cors 扩展,启用后一切正常。当我禁用时,我收到一个美丽的错误:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问来源“ 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);
Run Code Online (Sandbox Code Playgroud)
请检查一下:
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);
Run Code Online (Sandbox Code Playgroud)
在http://localhost:8080/dist/index.html你可以看到之前设置的所有标题
| 归档时间: |
|
| 查看次数: |
9285 次 |
| 最近记录: |