在sails中给出json格式的参数

时间:2015-04-18 09:32:26

标签: json parameters request sails.js

在我的控制器和其他有req对象的区域,我可以使用req.params('username')访问请求参数。这对于正常POST的数据很好,但我希望我的API接受请求正文中的JSON对象并将其转换为我仍然可以使用req.params()访问的参数。

因此,例如,如果我将此作为POST请求主体发送到我的控制器操作:

{'username': 'Chris', 'password': 'mypass'}

我希望能够使用req.params('username')req.param('password')获取用户名和密码。

目前唯一有效的方法是发送如下数据:

username=Chris&password=mypass

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

您必须将请求标头:内容类型设置为 application / json

我想澄清一点,

req.params用于获取网址参数

e,g,/ user /:name

req.params("name")

req.param 更强大,您可以通过此方法获得三个数据,并具有以下优先级

  1. Url参数
  2. e,g,/ user /:name

    req.param("name") //url parameters 
    
    1. 正文查询字符串或正文数据
    2. 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')获取您发送的值。

      1. 查询字符串
      2. e,g,/ user?nickname = ryan

        req.param("nickname") //ryan
        

答案 1 :(得分:1)

发送json对象时,您可以访问POST

中的req.body请求数据