我有一个node.js文件,它将数据发送到我的index.ejs文件,如下所示:
app.get('/', function (req, res) { //send the varibles to html file
res.render('index', {
title: 'Personal info',
data: arr
});
});
我希望索引文件使用jquery .load()函数将html页面(page.ejs)加载到其中。但这是问题所在。加载的页面需要显示信息,但如果我将数据重定向到它(res.render('page',
),浏览器将只显示page.ejs文件。如何让localhost:3000加载索引,索引加载page.ejs并让page.ejs显示数据?
答案 0 :(得分:2)
据我了解,您尝试通过AJAX(使用jQuery)请求page.ejs,部分模板文件,或者您想以某种方式包含它。
选项1:您可以在index.ejs中通过<%- include page.ejs %>
添加部分文件,该文件将从头开始包含您的page.ejs。这意味着它将被插入服务器端,并且两个文件的数据将作为一个文件发送到客户端。
选项2:或者您创建另一个路径控制器,在其中将page.ejs内容提供为HTML或JSON。这样客户端首先会收到index.ejs的内容,并且会异步请求page.ejs的内容。
以某种方式:
服务器端:
app.get('/page', function (req, res) {
res.render('page');
});
客户方:
$('#result').load('/page');