有効なJSONでPOSTリクエストを作成すると、bodyParserはPOSTリクエストの本体を正しく解析します。しかし、私は体として無効なJSON文字列を送信する場合、私はエラーが表示されます。Expressで不正なJSON POSTデータを取得していますか?
SyntaxError: Unexpected token ILLEGAL
at parse (native)
at IncomingMessage.<anonymous>(/home/.../middleware/bodyParser.js:69:15)
...
だから、身体のパーサが体の解析中に障害が発生していることが表示されます。しかし、私はこの失敗をキャッチしてエラーを返したいと思います。私はそれをキャッチするために何ができるか分からないので、どんな助けも高く評価されます。ありがとう。
としてハンドラをエラーに相対位置を重要ではありません、エラーを管理するために、次のコードを適合させることができますちょっとピーター、返事をありがとう。残念ながら、私はそれを無駄にしようとしました。あたかもapp.errorが実行されていないかのようです。私は試しました: 'app.error(function(err、req、res、next){console.log(" ERR ");});'、しかし実行されていません。開発用の私のapp.configureでは、 'app.use(express.errorHandler({dumpExceptions:true、showStack:true}));'に設定しています。私はノード0.4.9を実行していて、1.7.1に接続し、2.4.6を表現しています。何か案は?再度、感謝します。 – naivedeveloper
今すぐexpressのerrorHandlerをコメントアウトし、app.useルートが設定された後にapp.errorを呼び出すだけです。しかしそれ以外に、 'app.error'がなぜ呼び出されないのか分かりません。 –
何らかの理由でexpress/connectを使用すると、JSON.parseが例外をスローしないため、エラーハンドラが起動しません。私はこれを回避する方法を調べています。 – timoxley