这是一个发布的html表单:
<html>
<body>
<h1>Home Html Page</h1>
<a href="/Product/Index">Go To Product</a>
<hr/>
<form action="/Home/Index" method="POST" name="form1">
Enter Text:
<input type="text" id="txtInput"/>
<button id="btnPost">Post Data</button>
</form>
</body>
</html>
以下是应该获取发布数据的JavaScript代码:
function Server(req, resp) {
if (req.method == 'POST') {
var chunk = '';
req.on('data', function (data) {
chunk += data;
});
req.on('end', function () {
console.log(chunk + "<-Posted Data Test");
});
}'
...
resp.write(...);
resp.end();
}
你能帮帮我吗?我是nodejs的新手,你能告诉我一些例子吗?
答案 0 :(得分:10)
您必须在name
元素上指定<input>
,如下所示:
<input name="txtInput" type="text" id="txtInput">
只有那些name
设置的人才会被发布。
示例:
var http=require('http');
var util=require('util');
var querystring=require('querystring');
var server=http.createServer(function(req,res){
if (req.method=='GET'){
res.end('<form action="/Home/Index" method="POST" name="form1">Enter Text:<input name="txtInput" type="text" id="txtInput"/><button type="submit" id="btnPost">Post Data</button></form></body></html>');
}else{
var chunk = '';
req.on('data', function (data) {
chunk += data;
});
req.on('end', function () {
console.log(chunk + "<-Posted Data Test");
res.end(util.inspect(querystring.parse(chunk)));
});
}
}).listen(8080);
要解析formdata,只需使用querystring.parse(str, [sep], [eq])(如上例所示)
示例:
querystring.parse('foo=bar&baz=qux&baz=quux&corge')
// returns
{ foo: 'bar', baz: ['qux', 'quux'], corge: '' }