我对网络和网络新手很陌生。我正在阅读一本书,并且有这个代码。
app.post('/send', app.use(bodyParser()), function(req,res){
if(req.body && req.body.postex){
post.push(req.body.postex)
res.send({status:"ok", message:"Post received"})
}
})
我没有得到postex字段/属性的来源。不要求已设置的内容。提供的代码没有启动postex,然后突然写下来。我很困惑。你能解释一下这里发生了什么吗?
答案 0 :(得分:0)
在这种情况下,您可能会发现阅读here概述的Representational State Transfer(REST)以及here概述的不同HTTP方法非常有用。
粗略地说,是POST
方法,如
app.post('/send', app.use(bodyParser()), function(req,res){
是一种将某种形式的数据发送到Web服务器的方法。在这种情况下,您的网络服务器是Express,您发送到此路线的数据包含在您的请求对象req
中。
这些数据很可能是由用户输入网络表单填写的,网页上表单元素的名称将与req
对象中的属性相对应,特别是在{{1}内部正如@disklosr指出的那样。
例如,我们假设您的页面上有以下表格。
req.body
访问<form action="/send" method="post">
<input name="say" value="Hi">
<input name="to" value="Mom">
<button>Send my greetings</button>
</form>
对象会显示类似
req.body
即。
{
say: "Hi",
to: "Mom"
}
在您的情况下,会有一个名为console.log(req.body.say);
> "Hi"
的{{1}}属性的表单字段。提交表单值时,将将其值发送到您的服务器,然后通过name
在服务器端代码中访问该值。