Как получить ответ из функции firebase на статический index.html firebase - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь получить ответ базы данных firebase в статическом файле firebase файла index.html. В firebase index.js я получаю базу данных и возвращаю все ссылки с помощью метода getUsers, затем получаю ответ от getusers с помощью метода обещания (затем) оттуда отправляю мой res.send (res) в index.html статических файлов firebase. но я не получаю никакого ответа в параметре данных в вызове getajax, но получаю статус проверки в параметре status.

     firebase folder structure
      functions
             |_ index.js
      public
            |_index.html
Index.html -- firebase public index.hmlt 

           <script>

            const _url_prod = "https://nodejs-fef5b.firebaseapp.com/get";

             $('button').click(function(){
               $.get(_url_prod,(data,status)=>{
                       console.log("data",data);
                       console.log("status",status)
              })
            </script>


index.js-- firebase function folder has index.js


var admin = require("firebase-admin");
var serviceAccount = require("./serviceAccountKey.json");
const firebaseApp = admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://nodejs-crud-12758.firebaseio.com"
});
const functions = require('firebase-functions');
const express = require('express');
const  app = express();

async function getUsers(){
    const ref = await firebaseApp.database().ref('users');
    return  ref.once('value').then(data => {
          data.val();
        })
}
app.get('/get',(req,res)=>{
   getUsers().then(items => {
       res.send(items);
    });
})
exports.app = functions.https.onRequest(app);
```

1 Ответ

0 голосов
/ 24 мая 2019

Index.html:

<script
src="https://code.jquery.com/jquery-3.4.1.min.js"
  integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
  crossorigin="anonymous"></script>


<script>
$.get('http://192.168.56.1:5555/get', (data, success) => {
    console.log(data);
    console.log(success);
})
</script>

ваш скрипт:

async function getUsers() {
    return await 
        admin.database().ref('Users').once('value').then((snapshot) => {
        return snapshot.val();
    }).catch((error) => {
        console.log(error);
    })
}
app.get('/get', (req, res, next) => {
    getUsers().then((result) => {
        console.log(result);
        res.send(result);
    })
})

это работает для меня. Надеюсь, что это может помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...