为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

一只甜甜圈 2022-06-05 16:52:35
我的数据库(MongoDB)中有数据,我正在从数据库中查找数据并将其保存到数组中。当在页面上单击按钮时,我想将该数据发送到我的 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 文件中,我希望这个函数从数据库中获取数据并做任何我想做的事情。function randomIpsum(text) {    text.value = 'text from database'; // text is textarea where I want to show text}
查看完整描述

1 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

您需要使用参数进行渲染。


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 });

    });

});

在前端(视图):


var arr= {{ arr }}


function randomIpsum(text) {

    //text.value = 'text from database'; // text is textarea where I want to show text

    text.value = arr[0]

}

或者


您可以从 nodejs 发送纯文本。


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

}


查看完整回答
反对 回复 2022-06-05
  • 1 回答
  • 0 关注
  • 951 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号