Разрешение параметра Nodejs и печать - PullRequest
0 голосов
/ 29 октября 2011

Я пытаюсь отладить свой мобильный веб-сайт, который работает на Nodejs. В какой-то части есть такие строки:

var log_line = {accessCount: accessCount, x: x, time: t};
logstream.write(JSON.stringify(log_line));

Которые, как предполагается, регистрируют части запроса страницы пользователя. Путь определяется как app.get('/:x?.:y?.:z?', function(req, res){ ).

Для некоторых пользователей это работает нормально, но для других в журнале я нахожу только строку с надписью "{"accessCount": 1, "time": "10/10/10"}" Как это возможно? не должно ли оно хотя бы напечатать x без чего-либо рядом с ним? что может вызвать этот эффект?

Ответы [ 2 ]

0 голосов
/ 30 октября 2011

Если вы ищете решение, чтобы преодолеть его. Измените код на

   if (!x) {
    x = "NOT_DEFINED" // or your own place holder value
   }
   var log_line = {accessCount: accessCount, x: x :, time: t};

или более кратко будет

   var log_line = {accessCount: accessCount, x: x ? x : "NOT_DEFINED", time: t};
0 голосов
/ 29 октября 2011

Если x равно undefined, оно не будет напечатано:

> JSON.stringify({x:undefined})
'{}'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...