CKEditor, MongoDB и NodeJs: текст отображается в формате HTML - PullRequest
0 голосов
/ 09 июля 2020

Давний тайник, первый постер.

Прошу прощения, если мой формат неверен. Пытался решить эту проблему в течение нескольких дней, но не смог решить самостоятельно.

В настоящее время я создаю свой первый блог-сайт, на котором я использую CKEditor v4.14.1, чтобы позволить пользователю создавать отформатированная запись в блоге. Однако вводимые пользователем данные отображаются на веб-странице как HTML вместо форматированного текста. Я также использую MongoDB для хранения записи в блоге. Мы будем благодарны за любые отзывы!

Это пользовательский ввод: пользовательский ввод

И это результат на веб-странице: вывод на веб-страницу

new.e js

<form action="/posts" method="POST" enctype="multipart/form-data">
  <div class="input-area">
    <textarea name="post[body]" id="editor" placeholder="Body"></textarea>
  </div>
  <input type="submit" id="submit">
</form>

<script>
  CKEDITOR.replace('editor')
</script>

Схема сообщений MongoDB

const PostSchema = new Schema({
  body: String
})

PostSchema.plugin(mongoosePaginate)
module.exports = mongoose.model('Post', PostSchema);

контроллеры / сообщения. js

const Post = require('../models/post');

// Posts Create
async postCreate(req, res, next) {
  let post = new Post(req.body.post);
  post.body = req.body.post.body;
  await post.save();
}

показать. E js

<div><%= post.body %></div>

1 Ответ

0 голосов
/ 14 июля 2020

Решено: My show.e js должно быть

<div><%- post.body %></div>

вместо

<div><%= post.body %></div>
...