如何在不使用urlencoding的情况下使用superagent发布2个更多参数

时间:2017-02-08 03:40:36

标签: javascript node.js coffeescript superagent

我想在不使用urlencoding的情况下使用superagent发布2个参数。

我想用superagent发送这个参数。

items="[{\"name\":\"\\u5185\\u5bb9\"}]"&user=1

我尝试使用curl脚本,它可以正常工作。

curl -s -H "Content-type: application/x-www-form-urlencoded" -H "X-AAA-HEADER: aaa" -H "X-BBB-HEADER: bbb" -XPOST -d 'items="[{\"name\":\"\\u5185\\u5bb9\"}]"&user=1' http://localhost:3000  

我写了以下coffeescript代码。

postitem = (url, items, user) ->
  new Promise((resolve, reject) ->
    request.post(url).set('X-AAA-HEADER', 'aaa').set('X-BBB-HEADER', 'bbb').type('form').send(
      items: items
      user: user).end (err, res) ->
      if err
        reject err
      resj = JSON.parse(res.text)
      resolve resj
  )

promisepost = postitem("http://localhost:3000", '[{"name":"内容"}]', '1')
promisepost.then (result) ->
  console.log result

在网络服务器上,来自coffeescript的请求正在关注。

items%3D%22%5B%7B%5C%22name%5C%22%3A%5C%22%5C%5Cu5185%5C%5Cu5bb9%5C%22%7D%5D%22%26user%3D1

但我想接受请求(从curl发送)

items="[{\"name\":\"\\u5185\\u5bb9\"}]"&assignees=18

如何修复coffeescript?

1 个答案:

答案 0 :(得分:0)

我自己解决了这个问题。 更改要遵循的代码。

.send('items='+items+'user='+user).end (err, res) ->