I have form on my page
<form method="post" action="/data" onsubmit="return postData()">
<input type="password" name="passwd" placeholder="Password">
<input type="text" name ="name" placeholder="UserName">
<input type="submit" class="btn btn-warning" value="Submit"/>
</form>
function postData(){
var form = document.querySelector("form");
var inputs = form.querySelectorAll('input');
var data = {}
Array.prototype.forEach.call( inputs , function(x){
if( x.type != 'submit')
data[x.name] = x.value;
})
var req = new XMLHttpRequest();
req.open('POST' , form.action , true);
req.send(JSON.stringify(data));
}
and my server
var express = require("express");
var app = express();
app.get('/' , function( req, res ){
res.sendfile("index.html");
})
app.post('/',function( req , res){
console.log('got data ', req.body)
})
app.listen(8080)
It prints "got data" on post but it always write undefined for req.body where should be data i sent stored , why is this throwing undefined?