Firebase + REST + jquery会生成奇怪的密钥

时间:2016-03-30 17:04:26

标签: javascript jquery ajax rest firebase

我正在尝试使用Firebase存储一些数据,但我不想使用他们的.js库,我想使用jQuery和REST操作。

当我尝试翻译成功的卷曲时:

curl -X PUT -d '{
 "alanisawesome": {
   "name": "Alan Turing",
   "birthday": "June 23, 1912"
 }
}' 'https://blazing-heat-5028.firebaseio.com/users.json'

进入$ .ajax():

  var url = "https://blazing-heat-5028.firebaseio.com/users.json";
  var data = {
   "JQUERY": {
    "name": "Alan Turing",
    "birthday": "June 23, 1912"
  }
 };
 $.ajax({
   accept: "application/json",
   method: 'POST',
   contentType: "application/json; charset=utf-8",
   dataType: "json",
   data: JSON.stringify(data),
   url: url
 })
 .done((data)=> {
   document.body.innerHTML = JSON.stringify(data)
 })

它会在数据库中生成奇怪的字母数字键。

Strange keys in the database

这是一个jsFiddle: https://jsfiddle.net/ecb70js8/1/

有什么见解?

1 个答案:

答案 0 :(得分:1)

那些“奇怪的字母数字键”是Firebase推送ID。当您POST到某个位置时,服务器会在该位置创建一个新项目并为其生成密钥。在Firebase的情况下,这些键是推送ID。

来自Firebase documentation for the REST API

  

要为添加到Firebase数据库引用的每个子项生成唯一的,基于时间戳的密钥,我们可以发送POST请求。

     

...

     

请注意,我们自动生成了密钥-JSOpn9ZC54A4P4RoqVa,因为我们使用了POST请求。

如果您不喜欢自动生成的密钥,您还可以生成自己的密钥,然后PUT到该特定位置。