I'm having a little bit problems, I'm trying to send an object to use on my Javascript client side, whenever I render the view. I am sending it this way (Im using Handlebars)
> locations=[ {
> local:"my_local",
> desc:"myDesc"
> }];
res.render('myView', { locaciones:locaciones });
// Then in my view Inside a script tag i try to get that var and print it
<script>
var myObj='{{locations}}';
console.log(locations);
</script>
the result is this :
[object]
and I can't use any property of it because it's undefined
You can send your object as a string.
Like
locations = JSON.stringify({local:"my_local",desc:"myDesc"});
And on client side you can parse it to get an Object
Like
loc = JSON.parse(locations);
Now you can use loc as Object.
I know this is an old post but in case others are looking for an easy way to pass an object from the server to the client in nodejs here's how I do it.
On the server I do something like:
Then on the client side in my jade I'd do:
(assuming there's a "name" property in my_object)
Then just use it however you need it.
Like: