Node.js 解析Nodejs中的POST参数
我在一个小节点脚本中解析一个简单表单(不使用express或任何框架),所以我创建了一个函数来解析表单体Node.js 解析Nodejs中的POST参数,node.js,Node.js,我在一个小节点脚本中解析一个简单表单(不使用express或任何框架),所以我创建了一个函数来解析表单体 function postForm(req, res) { let body = ''; req.on('data', data => { body += data.toString(); }); req.on('end', () => { console.log(body); }); r
function postForm(req, res) {
let body = '';
req.on('data', data => {
body += data.toString();
});
req.on('end', () => {
console.log(body);
});
res.write('ok');
res.end();
}
但我确实一次获得了所有字段,例如username=sam&age=22
我知道在express中,我可以直接调用body.username或body.age,有没有一种简单的方法可以做到这一点
rant
我简直不敢相信在nodejs中解析一个简单的表单元素有多么过时。
在go中是一行(r.FormValue(“name”)),因此在php$\u POST[“name”])。我一定是做错了:)节点作为一个名为
querystring
的模块,您可以使用它来解析表单数据。您还可以设置请求的编码,以便块已经是字符串
const querystring = require('querystring');
function postForm(req, res) {
req.setEncoding('utf8');
let body = '';
req.on('data', data => {
body += data;
});
req.on('end', () => {
console.log(querystring.parse(body));
});
res.write('ok');
res.end();
}
节点作为名为
querystring
的模块,可用于解析表单数据。您还可以设置请求的编码,以便块已经是字符串
const querystring = require('querystring');
function postForm(req, res) {
req.setEncoding('utf8');
let body = '';
req.on('data', data => {
body += data;
});
req.on('end', () => {
console.log(querystring.parse(body));
});
res.write('ok');
res.end();
}
这取决于您在邮件正文中发送的内容。如果您发送enctype=“application/x-www-form-urlencoded” ,但它无法接收文件 解析mime多部分编码这是一项更困难的任务
<form action="/action_page_binary.asp" method="post" enctype="multipart/form-data">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit">
</form>
名字:
姓氏:
边界是随机字符串。通常是很多“-”然后是一些随机字符串
如果按它分割文本(最好不要分割,但要处理流,因为文件太大)
然后是标题,然后是两个输入,然后是内容。
内容编码取决于标题。
在标题中有文件名
我喜欢这个身体
另请参见:这取决于您在帖子正文中发送的内容。如果您发送enctype=“application/x-www-form-urlencoded” ,但它无法接收文件 解析mime多部分编码这是一项更困难的任务
<form action="/action_page_binary.asp" method="post" enctype="multipart/form-data">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit">
</form>
名字:
姓氏:
边界是随机字符串。通常是很多“-”然后是一些随机字符串
如果按它分割文本(最好不要分割,但要处理流,因为文件太大)
然后是标题,然后是两个输入,然后是内容。
内容编码取决于标题。
在标题中有文件名
我喜欢这个身体
另请参见:可能是一份副本,可能是一份副本,感谢您的回复!对于我想要实现的目标来说,它可以很好地工作,即获取单个字段var jumbor=(querystring.parse(body));控制台日志(小丑);console.log(小丑用户名);控制台.log(小丑.age);它不像Go或PHP那样简单,但我会处理我得到的:)-使用ExpressThank更简单谢谢你的回复!对于我想要实现的目标来说,它可以很好地工作,即获取单个字段var jumbor=(querystring.parse(body));控制台日志(小丑);console.log(小丑用户名);控制台.log(小丑.age);它不像Go或PHP那样简单,但我将使用我得到的:)-使用express更容易