如何使用js在服务器的html内写入文件?

时间:2018-11-11 13:16:10

标签: javascript node.js ejs

我想将数据传递到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查找)。

对于这种方法,由于空间有限,我不想使用数据库。我该怎么做?请帮忙。

1 个答案:

答案 0 :(得分:1)

您正在尝试使用前端Js修改后端上的文件。您无法在浏览器中修改文件系统(例如html页面或客户端计算机上的任何内容)。要执行您想做的事情,您需要将数据从页面传递到节点应用程序,并让节点应用程序执行修改。进行修改并不容易,因为您将不得不对文件进行文本搜索,因为后端没有DOM(您无法进行document.getElementByID(...,然后设置innerHTML)。您将必须使用fs模块访问html的原始文本。