如何提取从Node.js中的 HTTP方法form[method="post"]发送的表单数据()和文件上传?POST
form[method="post"]
POST
我已经阅读了文档,谷歌搜索并没有发现任何东西。
function (request, response) { //request.post???? }
有图书馆或黑客吗?
如果您使用Express(Node.js 的高性能、高级 Web 开发),您可以这样做:
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 起)
// 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)
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) });