How to render ejs from jQuery?

时间:2017-08-04 12:29:31

标签: javascript jquery node.js express ejs

I want to render a file after getting the data from the API.

code

$(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 file: (sample.ejs)

<% include header.html %>
 <strong>Sample ejs</strong>
<ul>
 <li><%= data.name %> says: <%= data.message %></li>
</ul>
 <% include footer.html %>

How can I solve this problem?

2 个答案:

答案 0 :(得分:0)

$(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 ...});

答案 1 :(得分:0)

您无法使用ajax调用收到的数据呈现ejs文件。 ejs在服务器端呈现,其中ajax调用发生在客户端。 要解决您的问题,您需要在服务器端获取用户数据并将其发送到ejs文件。