私は、express
いくつかのマークダウンを受け取り、フォーラム投稿用の HTML を返すコントローラーを作成しようとしています。
コマンドラインで期待される動作が得られます。
> var md = require('node-markdown').Markdown;
undefined
> md("\n\ndon't mind me\n====")
'<h1>don\'t mind me</h1>'
しかし、HTTP POST
Chromeによると次のフォームデータを持つリクエストを受け取った場合
raw:\n\ndon't mind me\n====
私はこの応答を受け取ります:
<p>\n\ndon't mind me\n====</p>
H1
タグを正しく識別していません。
マークダウンを解析するためのコードは次のとおりです。
var md = require('node-markdown').Markdown;
var parseMarkdown = (function () {
return function (raw_md) {
return md(raw_md);
}
}());
これが私のコントローラーコードです:
app.post('/render_markdown', function (req, res) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Content-Type', 'application/json');
var raw = req.body['raw'];
res.send({ html: parseMarkdown(raw)});
});
ここで何が起こっているのか手がかりを得た人はいますか?入力をMarkdown関数に渡すときにエスケープとエスケープ解除をいじってみましたが、役に立たなかったようです。