HTML无法识别MongoDB上保存的字符串中的标记

时间:2016-11-15 19:04:23

标签: javascript html node.js mongodb

我正在尝试显示我从textarea标签获得的一些数据并将其保存在mongodb中。 当我尝试使用<br/>标记显示时,html只是显示它并且不显示新行:

Review about the short animation film 'PUAL':<br /><br /> "First, Congratulations! A very well <br /><br /> thought out piece. The sound design

模板代码如下:

<div>
  <p> <%= person.quoteEng%></p>
</div>

控制器代码如下:

router.get("/", function(req, res){
  // Get all projects from DB 
  Person.find({})(function(err, allperson){
   if(err){
     console.log(err);
   } else {     
     res.render("feedback/index",{persons: allperson});
   }
});

从表单中获取文本的代码是一个非常简单的控制器:

router.post("/",middleware.isLoggedIn, function(req,res){
  var quoteEng = req.body.quoteEng;
  var NewPerson = { quoteEng: quoteEng}
  Person.create(NewPerson, function(err, newlyPerson){
    if(err){
      console.log(err);
    }else{
      console.log(newlyPerson);
      res.redirect("feedback/0");
    }
  });
});

我使用nl2br将/ n更改为

请帮帮我。 谢谢

1 个答案:

答案 0 :(得分:2)

您使用的是EJS模板语言。 Look at the documentation

  

使用<%= %>转义输出(可配置转义函数)

您正在使用<%= %>,因此输入被视为纯文本并转换为HTML。

  

未转义的原始输出<%- %>

改用它。小心不要让自己暴露于XSS attacks