2017-06-10 8 views
-3

投稿フォームから来ているreqの処理に問題があります。基本フォームからの処理依頼

フォームは私が何であるかを確認するときvirable

router.post('/', jsonParser, function(req, res, next){ 

var test = req.body; 
var test0 = test.map-city; 
var test1 = test.map-symbol; 

}); 

に各値を保存しようという

<form action="/" method="POST"> 

    <div class="form-group"> 
     <label for="city-input">City name</label> 
     <div class="col-10"> 
     <input class="form-control" type="text" id="city-input" name="map-city"> 
     </div> 
     <input type="checkbox" aria-label="..."/> 
     <label style="color: #737373;font-family: 'Open Sans', sans-serif;line-height: 30px;">Choose or type</label> 
     </div> 

     <div class="form-group"> 
     <label for="example-text-input">Symbol</label> 
     <div class="col-10"> 
     <input class="form-control" type="text" id="example-text-input" name="map-symbol"> 
     </div> 
     </div> 
     <button type="submit" class="btn btn-primary">Submit</button>   
</form> 

のように見えることは、私は

Object{map-city: "downtown", map-symbol: "dt"} 

方法を得るreq.bodyですこれを処理して各プロパティを文字列に保存する

今、私はエラーが出る - にReferenceError:都市は

は、あなたがそれにハイフンでオブジェクトのプロパティにアクセスしようとした場合はJavaScriptはエラーがスローされますので、ドット表記を使用して

+0

Youre doing test.map *マイナス*市。あなたはテストをしたい["map-city"] –

答えて

1

が、ここでは動作しませんありがとう定義されていません。 (これは一般的にケバブケースと呼ばれます)にドット表記があります。代わりにブラケット表記を使用する必要があります。

var test0 = test['map-city']; 
 
var test1 = test['map-symbol'];

1
Object{map-city: "downtown", map-symbol: "dt"} 

変更map_cityにinputタグのnameプロパティとそれが動作します。

<input class="form-control" type="text" id="city-input" name="map_city"> 

test.map(-を減算記号として扱われる)市と引くように、ノードは、コードを理解しています。同じロジックが他の入力フィールドにも適用されます。

関連する問題