2016-05-31 22 views
1

Ich kann nicht herausfinden, warum, wenn ich eine axios.post Methode mache, die einen Datenkörper liefert, wird es auf meinem Server als undefiniert erfasst.Behandlung von POST-Anfrage mit Axios und Express

Ich habe die folgenden Dateien mit Code-Schnipsel:

app.js:

auth(user, pass){ 
    return axios.post('http://localhost:3000/auth', { 
     username: user, 
     password: pass 
    }) 
} 

server.js:

app.post('/auth', (req, res) => { 
    console.log(req.body) //undefined 
    res.end("Success") 
}) 

Ich bin, wie kann ich die POST richtig behandeln Daten mit Axios? Fehle ich etwas?

Der Erfolg gibt in Ordnung, aber der Benutzername/Passwort kann nicht überall in den req

+0

Verwenden Sie die Middleware in Express, bevor ein Anforderungshandler xhr-Anfragen bearbeitet? wie: 'app.use ('/ *', function (req, res, next) { res.header ("Access-Control-Allow-Origin", "*"); res.header ("Access-Control-Allow-Credentials", "true"; res.header ("Zugriffssteuerung-Zulassen-Methoden", "GET, HEAD, OPTIONS, POST, PUT"); res.header ("Zugriff "Control-Allow-Header", "Access-Control-Allow-Headers, Origin, Accept, X-Requested-Mit, Content-Type, Access-Control-Request-Methode, Access-Control-Request-Header";) next(); }); ' –

+0

Ah, ja, es scheint, es verwendet Webpack-Dev-Middleware und Webpack-Hot-Middleware. Obwohl ich nicht glaube, dass diese die POST-Behandlung beeinflussen würden. Ich muss vielleicht weiter eindringen, da ich eine [Boilerplate] (https://github.com/choonkending/react-webpack-node) verwende. –

+0

Eigentlich scheint es, dass es auch bodyParser verwendet, um die POST-Anfragen zu bearbeiten. –

Antwort

2

Stellt sich heraus, ich meine Middleware alle aus installiert war gefunden zu sein scheint; Ich habe versucht, den POST in meiner server.js-Datei vor der Verwendung von Middleware zu behandeln.

+0

Ich habe ein ähnliches Problem, aber verstehe nicht, wie Sie es gelöst haben. –

+2

Entschuldigung für die späte Antwort. Für meine Situation musste ich sicherstellen, dass Express alle Middleware behandelt, bevor irgendwelche Routen eingerichtet wurden. Stellen Sie also sicher, dass Sie alle Ihre app.use ([Middleware]) - Konfigurationen vor dem Ausführen von GET- oder POST-Routen ausführen –