通过axios发布数据而没有“包装”键?

时间:2018-10-19 21:26:33

标签: javascript couchdb axios

我正在尝试使用Axios将一些数据发布到沙发数据库实例:

var payload = {
    key1: "value1",
    key2: "value2"
}

发布到C​​ouchdb:

axios.post("couchdb/testdatabase/", {
        payload
    })
    .then(function(response) {}
    )
    .catch(function(error) {}

在CouchDB上,将创建如下文档:

{
  "_id": "2b8f7ccc9216e6946ad2e06c16002fb1",
  "_rev": "1-50656bdcbb79f9b427c9aa5e0afb3255",
  "payload": {
    "key1": "value1",
    "key2": "value2"
  }

}

我想要获得的是这样的东西:

{
  "_id": "2b8f7ccc9216e6946ad2e06c16002fb1",
  "_rev": "1-50656bdcbb79f9b427c9aa5e0afb3255",
  "key1": "value1",
  "key2": "value2"
}

我当然可以将Key-Value-Pairs传递给axios.post()方法,但是使用更大的对象将非常耗时。

那么是否可以删除这些键值对周围的“有效载荷包装程序”?

谢谢

2 个答案:

答案 0 :(得分:1)

它不需要用大括号括起来,请尝试以下操作:

axios.post("couchdb/testdatabase/", payload)

axios.post("couchdb/testdatabase/", { key: 1, otherKey: 2 })

答案 1 :(得分:1)

尝试简单地删除大括号并像这样传递它:

axios.post("couchdb/testdatabase/", payload)
.then(function(response) {}
)
.catch(function(error) {}