FormのSelect画面で値(Tokyo)を選択し、Submitします。
その後、Node.js側で受け取った値に余計な文字が入ってしまいます。
正しい値:Tokyo
誤った値:\u001cTokyo
フロントエンド(html)側:
html
1<form action="/places/update" method="post" enctype="multipart/form-data"> 2 3 <select class="form-control" id="prefecture" name="prefecture"> 4 <option value="Tokyo" selected>Tokyo</option> 5 <option value="Chiba">Chiba</option> 6 <option value="Kanagawa">Kanagawa</option> 7 </select> 8 9 <button type="submit" class="btn btn-success">Register</button> 10</form>
バックエンド(Node.js)側:
Javascript
1router.post("/update", upload.single("file"), (req, res) => { 2 console.log(req.body); 3 console.log(req.body.prefecture); 4 console.log("Tokyo"); 5});
ログの結果が下記になります。
[Object: null prototype] { prefecture: '\u001cTokyo' } Tokyo Tokyo
考えられる原因について教えていただけると助かります。
また、こういった事象に直面した時、どのような迂回策をとれば良いのでしょうか?
Node.js側で不要な文字を削除しようと下記を試しましたが、
値が変わらないので迂回策もわからない状態です。
Javascript
1 req.body.prefecture.replace(/\u001c/g, ""); 2
どうぞよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。