1

我的问题非常具体,但在如何设置与 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 包如何传递数据的一部分,因此不确定如何对传入的数据进行编码。

任何帮助是极大的赞赏。

4

1 回答 1

1

我发现我在这里做错了什么。我的路线设置不正确:

router.get('/content/find?q={"@subject":"[id]"}', content.find);

应该很简单:

router.get('/content/find', content.find);

现在可以正确路由。

于 2015-02-01T12:24:41.320 回答