最近我的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"}
答案 0 :(得分:0)
原来这是由于KendoUI Scheduler及其传输端点的工作方式。在通过Scheduler构造函数发送请求之前,需要显式字符串化。在Scheduler.dataSource.transport中我添加了:
parameterMap: function (data, op) {
return JSON.stringify(data);
}
现在可行。