如何将对象传递给客户端 Javascript - NodeJS & express

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

我遇到了一些问题,我试图在呈现视图时发送一个对象以在我的 Javascript 客户端使用。我是这样发送的(我使用的是 Handlebars)

  > locations=[ {
    >               local:"my_local",                    
    >                desc:"myDesc"                  
    >               }]; 

res.render('myView', { locaciones:locaciones });

// 然后在我的视图中,在脚本标记内,我尝试获取该 var 并打印它

<script>
  var myObj='{{locations}}';
   console.log(locations);
</script>

结果是这样的:

[object]

而且我不能使用它的任何 属性 因为它是未定义的

您可以将对象作为字符串发送。

喜欢locations = JSON.stringify({local:"my_local",desc:"myDesc"});

在客户端你可以解析它来得到一个对象

喜欢loc = JSON.parse(locations);

现在您可以将 loc 用作对象。

我知道这是一个旧的 post 但如果其他人正在寻找一种简单的方法将对象从服务器传递到 nodejs 中的客户端,我就是这样做的。

在服务器上我做了类似的事情:

res.render('my_page',{'my_object': my_object});

然后在我的 jade 客户端,我会这样做:

-var name = my_object.name;

(假设 "name" 属性 在 my_object 中)

然后根据需要使用它。

喜欢:

p Hello #{name}