将数据从后端(nodejs)传递到前端javascript
我的数据库(MongoDB)中有数据,我正在从DB中查找数据并将其保存到数组中。当点击页面上的按钮时,我想将数据发送到我的JavaScript文件,并使用DOM在页面上显示它 当页面加载时,我正在查找数据表单DB:将数据从后端(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) {
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
}