如何从 jQuery 渲染 ejs?
Posted
技术标签:
【中文标题】如何从 jQuery 渲染 ejs?【英文标题】:How to render ejs from jQuery? 【发布时间】:2018-01-12 09:32:47 【问题描述】:我想在从 API 获取数据后渲染一个文件。
代码
$(document).ready(function()
$(document).delegate( "#editUser", "click", function()
var userId = $(this).data('id');
$.post("/userProfile","userId":userId,function(data, status)
console.log(data); //gets data here
//how to render ejs file here with the above data?
);
);
ejs 文件: (sample.ejs)
<% include header.html %>
<strong>Sample ejs</strong>
<ul>
<li><%= data.name %> says: <%= data.message %></li>
</ul>
<% include footer.html %>
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:$(document).ready(function()
$(document).delegate( "#editUser", "click", function()
var userId = $(this).data('id');
$.post("/userProfile","userId":userId,function(html, status)
$("#some-container").append(html);
);
);
上面的代码假设你从服务器端渲染 ejs 模板,如下所示:
res.render('sample', param1: param1 ...);
【讨论】:
【参考方案2】:您无法使用通过 ajax 调用收到的数据来渲染 ejs 文件。 ejs 在服务器端呈现,而 ajax 调用发生在客户端。 要解决您的问题,您需要自行在服务器端获取用户数据并将其发送到 ejs 文件。
【讨论】:
以上是关于如何从 jQuery 渲染 ejs?的主要内容,如果未能解决你的问题,请参考以下文章
节点 JS 堆栈。通过 Jquery 和 AJAX 发布 ejs 数据时遇到问题
jquery datatable - 如何使用渲染函数从另一列获取数据
我想使用 Jquery .change(function... (JS, EJS, Mongoose, Express) 显示数组中的特定项目