macOS上的react 16和节点9.9。使用WebPack开发服务器进行测试。我正在尝试通过get请求通过标题,但他们没有完成。
在服务器上,我允许所有内容:
app.use((req, res, next) => {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET,HEAD,PUT,POST,DELETE,OPTIONS");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, value1, value2, value3");
next();
});
我的客户请求是由Axios提出的,例如:
const request = axios({
method: "GET",
url: `http://my.api.co/endpoint`,
headers: {
"value1": "1",
"value2": "2",
"value3": "3"
}
});
检查传入请求时,req.headers不包含这些值,但是我可以在请求中看到键(不是值(。
我看到:
req.headers.access-control-request-headers:"value1,value2,value3"
...在req.rawheaders中相同。但是我无法获得价值观 - 它们没有通过。我无法访问以下内容,例如:
req.headers.value1
我认为这有一些"前飞行"需要做的事情,但是不确定如何在狩猎后解决问题。找不到直接答案。对于每种类型的请求,我都需要这个,而不仅仅是得到。如何将标题从Axios传递到服务器?
严格存在WebPack-Dev服务器的问题吗?当我不使用它时,我会看到差异吗?如果生产会有所不同,我绝对想知道我的步骤是什么。
对不起,我的简单错误。OP中的中间件需要在中间件块上方移动,在那里我实际检查了这些标题值。我误解了它的工作原理。现在一切都很好!