我正在尝试使用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)
})
它会在数据库中生成奇怪的字母数字键。
这是一个jsFiddle: https://jsfiddle.net/ecb70js8/1/
有什么见解?
答案 0 :(得分:1)
那些“奇怪的字母数字键”是Firebase推送ID。当您POST
到某个位置时,服务器会在该位置创建一个新项目并为其生成密钥。在Firebase的情况下,这些键是推送ID。
来自Firebase documentation for the REST API:
要为添加到Firebase数据库引用的每个子项生成唯一的,基于时间戳的密钥,我们可以发送POST请求。
...
请注意,我们自动生成了密钥
-JSOpn9ZC54A4P4RoqVa
,因为我们使用了POST请求。
如果您不喜欢自动生成的密钥,您还可以生成自己的密钥,然后PUT
到该特定位置。