在我的控制器和其他有req对象的区域,我可以使用req.params('username')
访问请求参数。这对于正常POST的数据很好,但我希望我的API接受请求正文中的JSON对象并将其转换为我仍然可以使用req.params()
访问的参数。
因此,例如,如果我将此作为POST请求主体发送到我的控制器操作:
{'username': 'Chris', 'password': 'mypass'}
我希望能够使用req.params('username')
和req.param('password')
获取用户名和密码。
目前唯一有效的方法是发送如下数据:
username=Chris&password=mypass
有什么想法吗?
答案 0 :(得分:4)
您必须将请求标头:内容类型设置为 application / json
我想澄清一点,
req.params用于获取网址参数
e,g,/ user /:name
req.params("name")
req.param 更强大,您可以通过此方法获得三个数据,并具有以下优先级
e,g,/ user /:name
req.param("name") //url parameters
POST HEADER(可选,默认)
Content-Type:application/json
POST BODY - json数据
{'username': 'Chris', 'password': 'mypass'}
OR
POST HEADER
Content-Type:application/x-www-form-urlencoded
POST BODY - 查询字符串
username=Chris&password=mypass
您可以使用req.param('password')
获取您发送的值。
e,g,/ user?nickname = ryan
req.param("nickname") //ryan
答案 1 :(得分:1)
发送json对象时,您可以访问POST
req.body
请求数据