クライアントからのデータを解析するという奇妙な問題があります。
すべての「ブール値 true」が「文字列 true」に変換され、「未定義」についても同じであるため、これらのフィールドで「if」を実行できないことがわかりました。
ここに私が持っているものがあります:
var bodyParser = require('body-parser');
var app = express();
app.post('/someroute',function(req,res,next){
console.log(typeof req.someBooleanValue);
});
私は常に「文字列」を取得し、クライアントが送信したものであるため、コンソールでブール値を期待しています。
content-type が「application/json」に設定されている場合、正常に動作するようになりました
body パーサーが「マルチパート」コンテンツ タイプで機能しないことを理解しています。しかし、その後、私の選択肢は何ですか?multiparty と multr を試しました。しかし、それらを解析した後でも、フィールドは文字列として取得されます。
これを処理する方法は、コンテンツ タイプをチェックする小さなユーティリティを作成し、JSON.parse('fields') などを使用して引用符の醜い削除を行う以外にありませんか?