req.query
和req.param
Express之间的主要区别
- 两者有何不同
- 什么情况下何时使用
假设客户端在请求中发送说Android(密钥,值)对.....,使用哪个?
[编辑]
假设android发送一个POST请求->目的是向客户端发送(Key,Value)并且服务器应该基于服务器中的值执行数据库查询并返回JSON响应
看::这个问题的方案我引用::简单快速的程序,用于查询结果
req.query
和req.param
Express之间的主要区别假设客户端在请求中发送说Android(密钥,值)对.....,使用哪个?
[编辑]
假设android发送一个POST请求->目的是向客户端发送(Key,Value)并且服务器应该基于服务器中的值执行数据库查询并返回JSON响应
看::这个问题的方案我引用::简单快速的程序,用于查询结果
Answers:
req.query
解析查询字符串后,将返回JS对象。
?/用户名=汤姆和年龄= 55 -req.query
将产生{name:"tom", age: "55"}
req.params
将在匹配的路由中返回参数。如果您的路线是/ user /:id,并且您向/ user / 5发出请求-req.params
将会产生{id: "5"}
req.param
是将参数剥离请求的功能。所有这些都可以在这里找到。
更新
如果动词是aPOST
并且您正在使用bodyParser
,那么您应该可以使用req.body
。那将是POST
ed表单的解析后的JS版本。
req.query
是发送给服务器的查询字符串,例如/page?
test = 1,req.param
是传递给处理程序的参数。
app.get('/user/:id', handler);
,去/user/blah
,req.param.id
将返回blah
;
req.data
,如果它是GET,将在req.param
c.Param("id") == ""
我建议使用以下
req.param('<param_name>')
req.param(“”)的工作方式如下
查找按以下顺序执行:
req.params
req.body
req.query
为了清楚起见,应该倾向于直接访问req.body,req.params和req.query-除非您真正接受每个对象的输入。
传递参数
GET request to "/cars/honda"
返回本田汽车型号列表
传递查询
GET request to "/car/honda?color=blue"
会返回本田汽车型号的列表,但会对其进行过滤,因此仅返回具有蓝色的原色的型号。
将这些过滤器添加到URL参数(/ car / honda / color / blue)中没有任何意义,因为根据REST,这意味着我们要获取有关“蓝色”颜色的大量信息。由于我们真正想要的是本田模型的过滤列表,因此我们使用查询字符串来过滤返回的结果。
请注意,查询字符串实际上只是{键:值}对,格式略有不同:?key1 = value1&key2 = value2&key3 = value3。
req.query
和req.param
?