RESTful routes js file:
// index route - show all todos
router.get("/", middleware.isLoggedIn,function(req,res) {
Todo.find({ "author.id" : req.user._id}, function(err, allTodos) {
if(err) {
console.log(err);
} else {
res.render("todo/index", {todos: allTodos});
}
});
});
My index.ejs file has:
<script src="/scripts/todoCalendar.js"></script>
at the end of the body
tag and I want to access the passed variable todos
inside my todoCalendar.js file.
I tried putting
<script>
var x= <%= todos %>
</script>
but it says x
is undefined when i try to do a console.log(x)
inside my todoCalendar.js file.
Any help is greatly appreciated.
EJS is a simple templating language that lets you generate HTML markup with plain JavaScript. It is possible to access JS variable in . ejs file. You just need to pass the JS object as second parameter of res.
Yes, you cant: if it is on server.
Three way to solve the problem...
variant
<script>
var x = "<%= todos %>";
console.log(x);
</script>
variant
<script>
var x = "<%- todos %>";
console.log(x);
</script>
variant [XD]
HTML:
<p id="yy" style="display:none"><%= todos %></p>
Javascript:
<script>
var x = document.getElementById("yy").innerText;
console.log(x);
</script>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With