我的问题非常具体,但在如何设置与 contentBlocks NodeJS 插件 ( https://github.com/primaryobjects/contentblocks ) 一起使用的 REST 查找调用方面遇到了困难。
我的 contentBlock 路径设置如下:
var contentBlocks = require('contentblocks')(
{
app: app,
host: 'localhost',
pathFind: '/content/find?q={"@subject":"[id]"}',
pathPost: '/content',
pathPut: '/content/[id]',
pathDelete: '/content/[id]'
});
我的路线设置为:
router.get('/content/find?q={"@subject":"[id]"}', content.find);
映射到 content.js:
exports.find = function(req, res) {
res.json("[]");
}
当我执行时,访问页面时不断收到以下错误:
GET /content/find?q={"@subject":"<homePage_description>"} 404 275.193 ms - 3986
undefined:1
<!DOCTYPE html><html><head><title></title><link rel="stylesheet" href="/styles
^
SyntaxError: Unexpected token <
at Object.parse (native)
at c:\dev\camsc\node_modules\contentblocks\lib\managers\WebManager.js:19:42
at IncomingMessage.<anonymous> (c:\dev\camsc\node_modules\contentblocks\node_modules\e
asypost\lib\easypost.js:19:13)
at IncomingMessage.emit (events.js:117:20)
at _stream_readable.js:943:16
at process._tickCallback (node.js:419:13)
我的观点如下:
block content
h1= title
#homeContentBlock(about='homePage_description')
div(property='content')
p.
Some text here...
我认为问题来自正在传递的查找请求中的“<”,但这是 contentBlocks 包如何传递数据的一部分,因此不确定如何对传入的数据进行编码。
任何帮助是极大的赞赏。