Quando si crea una richiesta POST con JSON valido, bodyParser analizza correttamente il corpo della richiesta POST. Tuttavia, se presento una stringa JSON non valido come il corpo, ricevo l'errore:Acquisizione dati POST JSON non validi in Express?
SyntaxError: Unexpected token ILLEGAL
at parse (native)
at IncomingMessage.<anonymous>(/home/.../middleware/bodyParser.js:69:15)
...
Così, sembra che il corpo sta fallendo parser durante l'analisi del corpo. Tuttavia, vorrei rilevare questo errore e restituire un errore. Non sono sicuro di cosa posso fare per prenderlo, quindi qualsiasi aiuto sarebbe apprezzato. Grazie.
Ehi Peter, grazie per la risposta. Sfortunatamente, l'ho provato senza successo. Sembra che l'app.error non venga mai eseguita. Ho provato: 'app.error (function (err, req, res, next) {console.log (" ERR ");});', ma non viene eseguito. Per la mia app.configure per lo sviluppo, ho impostato come 'app.use (express.errorHandler ({dumpExceptions: true, showStack: true}));'. Sto usando il nodo 0.4.9, connetto 1.7.1 ed esprimo 2.4.6. Qualche idea? Grazie ancora. – naivedeveloper
Prova a commentare l'express errorHandler per ora e metti semplicemente la tua chiamata ad app.error dopo che i percorsi dell'app.use sono stati configurati. Ma a parte questo non sono sicuro del motivo per cui "app.error" non viene chiamato. –
Per qualche motivo, quando si utilizza express/connect, JSON.parse non genera eccezioni, motivo per cui il gestore degli errori non viene attivato. Sto indagando su questo. – timoxley