我想将数据传递到html并将其写入。我尝试了一些东西,但是没有用。 我不知道该怎么做。
我将此文件从路由器传递到ejs文件:
router.post("/home/addfiles/rightside", function(req,res){
var paragh = req.body.paragh ;
res.render("files/writeto",{paragh:paragh});
)};
然后在我的ejs文件中,我想编写使用js从路由器传递的文件:
<div>
<p id="gethisformjs">
</p>
</div>
<script>
var passeddata = <%- JSON.stringify(paragh)%>
if (passeddata){
// here I want to write the above (passeddata) to <p> </p> by finding its id
}
</script>
我可以使用:
document.getElementById("gethisformjs").innerHTML = passeddata;
但是上述方法并不能将其永久写入服务器。 我也尝试使用JS形式的fs write方法,但是在这种方法中,我可以覆盖所有文件或将文件写入新行,我无法将文件写入特定位置(通过id和write查找)。
对于这种方法,由于空间有限,我不想使用数据库。我该怎么做?请帮忙。
答案 0 :(得分:1)
您正在尝试使用前端Js修改后端上的文件。您无法在浏览器中修改文件系统(例如html页面或客户端计算机上的任何内容)。要执行您想做的事情,您需要将数据从页面传递到节点应用程序,并让节点应用程序执行修改。进行修改并不容易,因为您将不得不对文件进行文本搜索,因为后端没有DOM(您无法进行document.getElementByID(...
,然后设置innerHTML
)。您将必须使用fs模块访问html的原始文本。