Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 主体html中的JSON请求_Javascript_Json_Node.js_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript 主体html中的JSON请求

Javascript 主体html中的JSON请求,javascript,json,node.js,firebase,firebase-realtime-database,Javascript,Json,Node.js,Firebase,Firebase Realtime Database,我正在尝试向API服务器发出https.0请求。我可以接收区块(JSON)并在控制台中打印它。如何将其直接写入html并在浏览器中显示 var requestListener = function (req, res) { var db = admin.database(); var ref = db.ref("Clubs"); ref.on("value", function(snapshot) { console.log(snapshot.val())

我正在尝试向API服务器发出https.0请求。我可以接收区块(JSON)并在控制台中打印它。如何将其直接写入html并在浏览器中显示

var requestListener = function (req, res) {

    var db = admin.database(); 
    var ref = db.ref("Clubs"); 
    ref.on("value", function(snapshot) { 

   console.log(snapshot.val());     //print on console

       res.write( snapshot.val() ); // in body html, error       throw er;                               
       // Unhandled 'error' event ^Error: write after end

    }, function (errorObject) {         
        console.log("The read failed: " + errorObject.code);

    });

// CRUD

    ref.child("club1").set({
        clubId: 1,
        clubName: "club1",
        telephone: "6548798",
        address: "Lviv",
        party: "qwe,asd,zxc"
    });

    ref.child("club2").set({
        clubId: 2,
        clubName: "club2",
        telephone: "234234",
        address: "Kiev",
        party: "qwe,zxc"
    });    
    res.end();
};

var server = http.createServer(requestListener);
server.listen(8080);

您正在调用
requestListener
末尾的
res.end()
。但它是在“定义”数据库读取处理程序之后调用的。因此,当您的db第一次触发“value”事件时,在HTTP响应上发送数据就太晚了


要修复它,您需要移动
res.end()
到数据库完成其数据推送的点。根据您使用的数据库/适配器,应该有一个
close
end
事件。如果不是,那么正确的位置就在
.write()
之后,如果这保证是一个一次性调用“value”事件。

您必须将JSON字符串化