2017-10-04 3 views
0

Ich versuche, Axios in Knoten zu verwenden, wie ich etwas wie CURL verwenden würde. Ich mache eine API-Anfrage an meinen Knoten-Endpunkt. Ich benutze dann Axios, um eine Anfrage an Spotify zu stellen, um einige OAuth-Sachen zu machen. Ich bekomme die Antwort von der Axios-Anfrage erfolgreich zurück, aber wenn ich versuche, eine Antwort in Express zurückzugeben, wird mir gesagt, dass die Header bereits gesendet wurden. Im Folgenden finden Sie einen Test, den ich eingerichtet habe, um das Problem zu isolieren. Dies gibt den Fehler "Kann Header nicht festlegen, nachdem sie gesendet werden".Axios können Header nicht festlegen, nachdem sie gesendet werden

makeRequest: function(req, res, next) { 

    axios.get('https://google.com') 
     .then(function(){ 
      res.status(200).send({}); 
     }); 
} 

Kann dies getan werden? Vielen Dank.

Antwort

0

Ich denke, weil ich die Header jeder Anfrage änderte, verursachte es einige Probleme, z.

Ich benutzte einen anderen Router für die Anfragen, die ich Axios verwende und es funktioniert jetzt OK. So etwas wie:

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 
+0

Ich bin mir nicht sicher, worüber du redest, aber du solltest Header nicht setzen, nachdem du Antwort gesendet hast. –

Verwandte Themen