Reputation: 33
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
Upvotes: 3
Views: 11631
Reputation: 155
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:
res.render('my_page',{'my_object': my_object});
Then on the client side in my jade I'd do:
-var name = my_object.name;
(assuming there's a "name" property in my_object)
Then just use it however you need it.
Like:
p Hello #{name}
Upvotes: 0
Reputation: 631
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.
Upvotes: 7