如何在 Node.js 中处理 POST 数据? [英] How to process POST data in Node.js?
本文介绍了如何在 Node.js 中处理 POST 数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何提取表单数据 (form[method="post"]
) 和从 Node.js?
How do you extract form data (form[method="post"]
) and file uploads sent from the HTTP POST
method in Node.js?
我已经阅读了文档,用谷歌搜索并没有找到任何东西.
I've read the documentation, googled and found nothing.
function (request, response) {
//request.post????
}
有图书馆或黑客吗?
推荐答案
如果你使用 Express(高-Node.js 的高性能、高级 Web 开发),您可以这样做:
If you use Express (high-performance, high-class web development for Node.js), you can do this:
HTML:
<form method="post" action="/">
<input type="text" name="user[name]">
<input type="text" name="user[email]">
<input type="submit" value="Submit">
</form>
API 客户端:
fetch('/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
user: {
name: "John",
email: "john@example.com"
}
})
});
Node.js:(自 Express v4.16.0 起)
Node.js: (since Express v4.16.0)
// Parse URL-encoded bodies (as sent by HTML forms)
app.use(express.urlencoded());
// Parse JSON bodies (as sent by API clients)
app.use(express.json());
// Access the parse results as request.body
app.post('/', function(request, response){
console.log(request.body.user.name);
console.log(request.body.user.email);
});
Node.js:(适用于 Express <4.16.0)
Node.js: (for Express <4.16.0)
const bodyParser = require("body-parser");
/** bodyParser.urlencoded(options)
* Parses the text as URL encoded data (which is how browsers tend to send form data from regular forms set to POST)
* and exposes the resulting object (containing the keys and values) on req.body
*/
app.use(bodyParser.urlencoded({
extended: true
}));
/**bodyParser.json(options)
* Parses the text as JSON and exposes the resulting object on req.body.
*/
app.use(bodyParser.json());
app.post("/", function (req, res) {
console.log(req.body.user.name)
});
这篇关于如何在 Node.js 中处理 POST 数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文