将本地数组从Express传递给Javascript

时间:2012-02-05 07:05:32

标签: node.js express pug

我正在使用Jade和

- if (userId !== null)
  != "<script type='text/javascript'>"
  != "userDetail.userId = "+userId.toString()+";"
  - if (friends && friends.length > 0)
    != "userDetail.friends = "+friends+";"
  != "</script>"

在Javascript中,userDetail.js,

var userDetail = {};

userDetail.userId = null;
userDetail.friends = [];

当我跑步时,我得到 - Uncaught SyntaxError: Unexpected token ILLEGAL

我可以在JS中引用userDetail.userId,但userDetail.friends显示为null。 有什么问题的线索?

friends是一个对象数组{id,name,_id}

1 个答案:

答案 0 :(得分:4)

您需要使用JSON.stringify(friends)而不是您拥有的默认friends.toString()

node
> [{id: 42, name: "ray"}].toString()
'[object Object]'
> JSON.stringify([{id: 42, name: "ray"}])
'[{"id":42,"name":"ray"}]'