我试图在节点中使用Axios,就像我会使用像CURL这样的东西。我正在向节点端点发出api请求。然后我使用Axios向Spotify请求做一些OAuth的事情。我成功地从Axios请求中得到了响应,但是当我尝试在Express中返回响应时,我被告知已经发送了标题。以下是我为解决问题而设置的测试。这会给出错误"在发送标题后不能设置标题"。
makeRequest: function(req, res, next) {
axios.get('https://google.com')
.then(function(){
res.status(200).send({});
});
}
可以这样做吗?感谢。
答案 0 :(得分:0)
我认为因为我正在修改每个请求的标题,导致一些问题,例如。
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,PATCH');
我使用不同的路由器来处理我使用Axios的请求,现在它可以正常工作。类似的东西:
app.use('/api', apiRouter);
app.use('/callback', axiosRouter);
apiRouter.use(function(req, res, next) {
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,PATCH');
}
//I don't modify the axiosRouter headers