Передача массива местных жителей из Express в Javascript - PullRequest
0 голосов
/ 05 февраля 2012

Я использую Джейд и

- 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

Я могу ссылаться на userDetail.userId в JS, но userDetail.friends отображается как ноль. Любая подсказка, что не так?

friends - это массив объектов {id, name, _id}

1 Ответ

4 голосов
/ 05 февраля 2012

Вам нужно использовать JSON.stringify(friends) в отличие от значения по умолчанию friends.toString(), которое у вас есть.

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