HTTP请求字段

时间:2014-05-13 12:48:10

标签: http express

我对网络和网络新手很陌生。我正在阅读一本书,并且有这个代码。

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,然后突然写下来。我很困惑。你能解释一下这里发生了什么吗?

1 个答案:

答案 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在服务器端代码中访问该值。