2016-06-20 4 views
1

私のreq.body.numberは未定義になっています。私はこれについての前の投稿を見ましたが、それはまだ私のために働いていません。入力した番号が次のページに表示されるようにします。あなたが問題を引き起こしているフォームでenctype='multipart/form-data'を使用しているapp.postとreq.bodyを使用して未定義を取得する

ノードのjs

//Sending UDP message to TFTP server 
//dgram modeule to create UDP socket 
var express= require('express') 
var fs= require('fs') 
var util = require('util') 
var bodyParser = require('body-parser') 
var app = express() 

// parse application/x-www-form-urlencoded 
app.use(bodyParser.urlencoded({ extended: false })) 

// parse application/json 
app.use(bodyParser.json()) 

app.get('/', function(req, res) { 
    var html = fs.readFileSync('index2.html'); 
    res.writeHead(200, {'Content-Type': 'text/html'}); 
    res.end(html); 
}); 

app.post('/', function(req, res) { 
    console.log(req.body.number); 
}); 

app.listen(3000, "192.168.0.172"); 
console.log('Listening at 192.168.0.172:3000') 

HTML

<html> 
    <body> 
    <h1>Reading in Value</h1> 
    <form action="/" method="post" enctype='multipart/form-data'> 
    <br/> 
    <label>Enter a UDP command in hex</label> 
    <br/><br/> 
    <input type="number" name="number" id="number"> 
    <br/><br/> 
    <input type="submit" value="Submit" name="submit"> 
    </form> 
    </body> 
</html> 
+0

を楽しんで変更できますか? – Aeolingamenfel

+0

"{}"を出力します – lord

+0

なぜ 'multipart/form-data'ですか? –

答えて

1

現在、body-parsermultipart/form-dataをサポートしていません.Hence、req.bodyは未定義です。

したがって、そのフォームでファイルをアップロードする必要がない場合は、application/x-www-form-urlencodedに変更してください。

0

ちょうどあなたが全体 `req.body`オブジェクトをログアウトし、それが持っていないものを見ることができます

<form action="/" method="post" enctype='multipart/form-data'> 
 

 
to 
 

 
<form action="/" method="post" enctype='application/x-www-form-urlencoded'>

が:)

+1

私の答えとどう違うのですか? –

関連する問題