この質問に対する答えを見つけることができませんでした。NodeJS、Express、および Express Bodyparser を使用している場合、およびその他の MEAN スタックを使用している場合、非表示フィールドと無効フィールドの両方で問題が発生します。フォームを送信するときに、これらのフィールドが req.body オブジェクトに表示されません。
私の理解が正しければ、express の bodyparser の側面は実際には別のプロジェクトから取られています。とにかく、これらのフィールドが削除された理由や、これを防ぐ方法を実際に理解することはできませんでした. メソッドオーバーライドと関係があるのではないかと思いますが、これを有効/無効にしても問題のフィールドには影響しません。
だから..私自身と将来のグーグルのために:ここで何が起こっているのですか?
リクエストに応じて、いくつかのコードを次に示します: JADE:
form(action="/admin/users/edit", method="post", ng-submit='registerUser($event)', name='form', novalidate)
.row(ng-show="ifweareupdating")
label(for="_id") _id:
input(type="hidden", id="_id", name="_id", ng-model="newUser._id")
input(type="text", id="_notHiddenId', name="_notHiddenId", ng-model="newUser._id")
特急:
app.post("/admin/users/edit", pass.ensureAdmin, userRoutes.editUserPost);
ユーザールート:
exports.userRoutes.editUserPost = function(req,res,next) {
console.log(req.body._id) // logs undefined
console.log(req.body._notHiddenId) // logs actual id
}