NodeJS服务发回JSON.如何在 ejs/html 中填充它



我的nodejs应用程序正在使用快速和以下发布方法。

app.post("/orderdeliver",function(req,res){
var cellNumber=req.body.mobilenumber;
User.findOne({mobilenumber:req.body.user.mobilenumber}).populate("clothes").exec(function(err,foundUser){
if(err || foundUser.length<=0){
console.log(err);
}else{
//res.render("orderhistory",{user: foundUser})
res.send(foundUser);
}
});

}(;

在这里,我想以json格式发回结果。这是由res.send((到调用的ejs页面完成的。现在我想用 json 中找到的结果填充同一页面。我必须只返回 json 格式。如何修改 ejs 页面,以便返回的 json 将填充其中,并且旧的 html 元素将保留在原位。我知道可以使用res.render((,但这会破坏发回json的目的。

每当使用 EJS 时,请记住以下两件事:

- <%= someVariable %>
- <% someCode %>

溶液:

res.send(foundUser)替换为res.render(page,foundUser),这样您就可以将页面作为要呈现的 ej,并将 foundUser 作为视图的参数。

你的函数也是错误的,你应该使用它:

if(error) {
return res.render(errorPage,{ error: error.message || error, data: false })
} else {
return res.render(page,{ error: false, data: foundUser })
}

在 EJS 文件上使用值的示例:

<% if(foundUser.name) { %>
<h1><%= foundUser.name %></h1>
<% } %>

最新更新