jquery .load()页面,带有快递j

时间:2016-09-12 13:13:02

标签: jquery node.js express

我有一个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显示数据?

1 个答案:

答案 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');