Бросок парсера тела NodeJS: неожиданно _
Недавно мой NodeJS API выдал очень странную ошибку:
SyntaxError: Unexpected token _
at parse (/var/www/html/node/node_modules/body-parser/lib/types/json.js:83:15)
at /var/www/html/node/node_modules/body-parser/lib/read.js:116:18
at invokeCallback (/var/www/html/node/node_modules/raw-body/index.js:262:16)
at done (/var/www/html/node/node_modules/raw-body/index.js:251:7)
at IncomingMessage.onEnd (/var/www/html/node/node_modules/raw-body/index.js:308:7)
at IncomingMessage.EventEmitter.emit (events.js:92:17)
at _stream_readable.js:920:16
at process._tickCallback (node.js:415:13)
Поскольку это не указывает на какой-либо файл, который у меня есть за пределами node_modules, я очень озадачен тем, что может быть причиной этой ошибки. У меня есть такие значения, как creation_timestamp и _id, но у меня еще никогда не было проблем с их обработкой.
Если у кого-то есть решение или какой-то способ получить больше информации из этого, я был бы очень признателен, я на этом сообразил.
РЕДАКТИРОВАТЬ: Это строковый JSON, который я представляю:
{"meeting_id":"5755d81869996f6e4cea47ea","type":"delete_entry"}
1 ответ
Оказывается, это было связано с планировщиком KendoUI и тем, как работает его транспортная конечная точка. Перед отправкой запросов через ваш конструктор планировщика вам нужно явно указать строку. В Scheduler.dataSource.transport я добавил:
parameterMap: function (data, op) {
return JSON.stringify(data);
}
Теперь это работает.