Search code examples
javascriptnode.jsexpressclienthandlebars.js

How to Pass an Object to client Javascript - NodeJS & express


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


Solution

  • 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.