javascript - 如何使用如图所示的相同表创建 url

标签 javascript firebase firebase-realtime-database

一切工作正常,但我想使用与 url 相同的 contactUs 表创建 url。我试图在用户请求表单时显示表中的所有内容。

this is the picture of table

var config = {
     apiKey: "=================",
    authDomain: "=================",
    databaseURL: "================",
    projectId: "===========",
    storageBucket: "====================",
    messagingSenderId: "====================="
};

//initialize firebase
   firebase.initializeApp(config);
   var database = firebase.database();
   var storage = firebase.storage();
   var firebaseContactsCollection = database.ref().child('ContactUs');

function submitOrder() {

    var data = {

        Name: $('#NameField').val(),
        Email: $('#EmailsField').val(),
        Subject: $('#SubjectField').val(),
        Message: $('#MessageField').val(),
     //   file: $('#fileButton').val(),
    };

    firebaseContactsCollection.push(data);


};


var fileButton = document.getElementById('fileButton');

function URL(snap) {
    var url = snap.downloadURL;

       firebase.database().ref().child('ContactUs').push(url);

}


function img() {

    var folder = this.files[0];

    var getf = storage.ref("ContactUsImagesfiles/" + new Date());
    getf.put(folder).then(URL);
}

fileButton.onchange = img;

最佳答案

您的问题是每次保存数据时都会调用push()push() 方法与 set() 不同,它创建一个唯一的 ID 并将您的数据存储为该 ID 下的子项。而 set() 只会将数据存储在您的引用处。

您可以call push() without storing any data ,获取要使用的唯一 ID。首先执行此操作,作为全局变量或可以传递到函数中的变量。

// Get a key for a your form
var firebaseContactsCollection = database.ref().child('ContactUs');
var newFormSubmissionKey = firebaseContactsCollection.push().key;

function submitOrder() {
  // ...
  firebaseContactsCollection.child(newFormSubmissionKey).set(data);
}

function URL(snap) {
  var url = snap.downloadURL; 
  firebaseContactsCollection.child(newFormSubmissionKey).child("url").set(url);
}

当您将 URL 存储在第二个函数中时,不要忘记同时引用您要将其保存到的节点。

关于javascript - 如何使用如图所示的相同表创建 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54062219/

相关文章:

javascript - 单击按钮本身以及其他按钮时更改按钮的图像源属性

javascript - jsTree - 使用 AJAX/C#Web 方法动态填充树

java - 发布的图片未出现在 Firebase Recycler View 中

java - Firestore - 嵌套集合的自定义对象

javascript - 如何将数据作为索引数组推送到 firebase?

javascript - 记住用户投票的 CSS 样式(赞成票和反对票)

javascript - Mozilla Persona 签名数据字符串

javascript - data-step 属性在 jquery 旋钮中不起作用

javascript - 如何使用 ionic 检查配置文件是否存在于 firebase 中?

ios - Firebase - 如何获取 observeEventType = Value 中的键值