将数据从后端(nodejs)传递到前端javascript

将数据从后端(nodejs)传递到前端javascript,javascript,node.js,mongodb,dom,Javascript,Node.js,Mongodb,Dom,我的数据库(MongoDB)中有数据,我正在从DB中查找数据并将其保存到数组中。当点击页面上的按钮时,我想将数据发送到我的JavaScript文件,并使用DOM在页面上显示它 当页面加载时,我正在查找数据表单DB: app.get('/', function(req, res) { var ipsumTextArray = []; Ipsum.find({}, function(err, allIpsumTexts) { if (err) {

我的数据库(MongoDB)中有数据,我正在从DB中查找数据并将其保存到数组中。当点击页面上的按钮时,我想将数据发送到我的JavaScript文件,并使用DOM在页面上显示它

当页面加载时,我正在查找数据表单DB:

app.get('/', function(req, res) {
    var ipsumTextArray = [];
    Ipsum.find({}, function(err, allIpsumTexts) {
        if (err) {
            console.log(err);
        } else {
            allIpsumTexts.forEach(function(ipsum) {
                ipsumTextArray.push(ipsum.text);
            });
        }
        res.render('home');
    });
});
在我的另一个JavaScript文件中,我希望这个函数能够从DB中获取数据,并执行我想要的任何操作

function randomIpsum(text) {
    text.value = 'text from database'; // text is textarea where I want to show text
}

您需要使用参数进行渲染

app.get('/', function(req, res) {
    var ipsumTextArray = [];
    Ipsum.find({}, function(err, allIpsumTexts) {
        if (err) {
            console.log(err);
        } else {
            allIpsumTexts.forEach(function(ipsum) {
                ipsumTextArray.push(ipsum.text);
            });
        }
        res.render('home', { arr: ipsumTextArray });
    });
});
在前端(视图)中:

您可以从节点发送纯文本

app.get('/', function(req, res) {
    var ipsumTextArray = [];
    Ipsum.find({}, function(err, allIpsumTexts) {
        if (err) {
            console.log(err);
        } else {
            allIpsumTexts.forEach(function(ipsum) {
                ipsumTextArray.push(ipsum.text);
            });
        }
        res.send(ipsumTextArray);
    });
});
您可以在前端使用jQuery获取数据

<button id="btn">Get Data</button>

$("#btn").on("click", function(){
    $.get("/", function(data){
        randomIpsum(text, data)
    })
})

function randomIpsum(text, data) {
    //text.value = 'text from database'; // text is textarea where I want to show text
    text.value = data
}
获取数据
$(“#btn”)。在(“单击”,函数(){
$.get(“/”,函数(数据){
随机数(文本、数据)
})
})
函数randomIpsum(文本、数据){
//text.value='text from database';//text是要显示文本的文本区域
text.value=数据
}

呈现主页时,您似乎没有使用数据。这是服务器呈现的还是单页应用程序?您希望客户端发出请求(这些请求在哪里)还是服务器生成整个页面(为什么不使用数据)?谢谢您的回复,先生。当我试图按照你刚才写的那样做时,我的前端文件中出现了这些错误。预计将进行财产转让。声明expected@Tony有一个问题,你的客户端技术是什么?节点查看、反应或。。。?我还在我的答案中添加了这个选项。我使用的是nodejs视图。我不喜欢使用jQuery,所以如果可能的话,我希望您修复回答中的第一个选项OK。这个怎么样:
var arr=“”你的模板引擎是什么?
<button id="btn">Get Data</button>

$("#btn").on("click", function(){
    $.get("/", function(data){
        randomIpsum(text, data)
    })
})

function randomIpsum(text, data) {
    //text.value = 'text from database'; // text is textarea where I want to show text
    text.value = data
}