[英]EJS not rendering ejs code on client side
我试图渲染,我发自EJS代码home.js
到home.ejs
作为一个字符串,但没有奏效。 我现在正在尝试此操作,但似乎没有任何效果。 我的代码是:
home.js
var templates = {};
templates.onScroll = fs.readFileSync('views/partials/onScrollAppendPost.ejs', 'utf-8');
res.render("users/home", {templates: templates});`
home.ejs
var template = new EJS({text: <%- JSON.stringify(templates.onScroll) %>}).update('#mainContainer', {postArr: postArr});
编辑:
我想做的是我想检测用户何时到达页面底部。 使用此代码:
$(window).scroll(function () {
if ($(window).scrollTop() == $(document).height() - $(window).height()) {
//get post data and append post
}});
当用户到达页面底部时,我想将ejs代码附加到页面上。 基本上我想在ejs和js之间进行通信。
根据http://ejs.co上的示例,您首先需要在页面中包含ejs的浏览器版本:
<script src="ejs.js"></script>
然后,您可以像这样使用EJS客户端:
var html = ejs.render('your template here', {postArr: postArr});
$('#mainContainer').html(html);
这是假设postArr
设置正确,可能是AJAX请求的结果。
当您使用EJS生成EJS时,所有这些都变得更加难以理解,但是home.ejs
的相关代码将如下所示:
var html = ejs.render(<%- JSON.stringify(templates.onScroll) %>, {postArr: postArr});
$('#mainContainer').html(html);
假设onScroll
模板不include
任何其他模板。 您尚未指定是使用home.ejs
生成HTML还是JavaScript,因此尚不清楚其他适用的转义注意事项可能适用,但可能不会出现问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.