2014-11-21 3 views
0

Я делаю приложение, используя node.js с express.js, и вместо использования JADE я использую EJS (Embedded Javascript). Когда я отправляю (ответ) информацию, которая должна быть подключена к моему шаблону, я обычно отправляю как файл JSON, но иногда я хочу, чтобы в файле JSON был большой фрагмент кода HTML. Это то, что у меня есть:Прочитать файл с помощью JSON

  1. JSON файла
  2. index.js (для отправки ответа)
  3. blogPost.html

Это то, что мне нужно:

  1. Get сообщение блога в файл JSON
  2. Отправьте его через index.js и отправьте сервер шаблону с помощью HTML Код ...

мне нужно:

{ 
    "title": "Test blog post", 
    "paragraph": fs.readFileSync(blogPost.html) 
} 

заменить fs.readFileSync() с тем, что я хотел бы использовать в JSON для чтения файла.

ответ

0

В соответствии с this answer, JSON - это язык описания данных, а не язык программирования. Поэтому невозможно выполнить функцию внутри JSON. Я выполнил бы fs.readFileSync, когда запрос будет сделан на ваш сервер, и включит эти данные как переменную в сам ответ модели JSON. Более подробно об этом см. В разделе this answer, хотя они обсуждают его в контексте PHP, должны применяться аналогичные принципы. This blog post также должен помочь. Обратите внимание на сложность, связанную с тем, чтобы убедиться, что соответствующие символы экранированы, и все отформатировано правильно.

EDIT

Here(validator.js) хороший модуль, чтобы помочь с HTML побега/проверки, прежде чем отправить его с остальной частью JSON.

Смежные вопросы