Node.js 节点如何从表单捕获数据?
ejs文件中的相关行:Node.js 节点如何从表单捕获数据?,node.js,post,body-parser,Node.js,Post,Body Parser,ejs文件中的相关行: <form action="/foo" method="post"> 单击ejs文件中的submit按钮时,数据将附加到“/foo请求对象 app.js是否因为调用此函数而能够访问请求对象function(req,res)?在我看来,似乎我们正在发出一个新的请求 还有第一个参数的用途是什么?即“app.post(“/foo”)这是您的app.js在端口3000上侦听 var express = require('express') var app = exp
<form action="/foo" method="post">
单击ejs文件中的submit按钮时,数据将附加到“/foo请求对象
app.js是否因为调用此函数而能够访问请求对象function(req,res)
?在我看来,似乎我们正在发出一个新的请求
还有第一个参数的用途是什么?即“app.post(“/foo”)这是您的app.js在端口3000上侦听
var express = require('express')
var app = express();
var bodyParser = require('body-parser')
app.post('/foo', urlencodedParser, function (req, res) {
res.send('welcome, ' + req.body.username)
});
//starting server
app.listen('3000',function(){
console.log("App started on port 3000.");
});
在这里,您将express的实例存储在express变量中,它将具有所有express功能。
现在我们通过调用它的构造函数来启动express,第行下面就是这样做的
var app = express();
下面,我们正在创建一个实例,它可以帮助我们在节点应用程序中读取请求正文
var bodyParser = require('body-parser')
现在我们在应用程序中使用body parser,如下所示:
app.use(bodyParser.json())
在上面的一行中,我们正在解析json格式的请求体,以便可以访问json格式的请求体
现在app变量将在某些端口上侦听,例如3000,之后当用户提交表单时,例如此表单:
<form action="/foo" method="post">
在上面的函数中,我们使用用户名发送响应,用户名与从请求正文中获得的消息“username”连接在一起。可以通过以下步骤实现这一点
var-app=express();
var parser=require('body-parser')
app.use(bodyParser.json());
在这里,您将获得json格式的请求正文app.use(bodyParser.json())
<form action="/foo" method="post">
app.post('/foo', urlencodedParser, function (req, res) {
res.send('welcome, ' + req.body.username)
}