尝试使用Node fs.writeFile写入json文件

时间:2019-03-20 16:49:43

标签: node.js post writefile

我希望我说的正确。我正在尝试使用fs.writeFile写入json文件。

我可以使用命令行来使它工作,但是我想做的是调用一个函数,或者单击按钮以更新json文件。

我认为我需要对本地端口8080的节点服务器进行某种类型的调用。我正在研究,发现有人提到使用.post,但是仍然无法理解如何编写逻辑。

$(".button").on("click", function(event) {

    fs.writeFile("./updateme.json", "{test: 1}", function(err) {
        if(err) {
            return console.log(err);
        }
        console.log("The file was saved!");
    });

});

1 个答案:

答案 0 :(得分:0)

使用jQuery和fs吗?哇,太棒了!不幸的是,事情并非如此简单!

让我向您介绍服务器端VS客户端JavaScript 。嗯,实际上,网络上有很多相关资源-只需将其谷歌搜索,或查看this other StackOverflow question的答案即可。基本上,JavaScript既可以在浏览器(Chrome,Mozilla ...)上运行,也可以作为程序(通常是用NodeJS编写的服务器)运行,并且尽管语言(几乎)相同,但是两个平台都可以具有相同的功能。

您显示的脚本应该在浏览器中运行,因为它使用jQuery并与按钮和其他东西(也称为DOM)进行交互。您能想象如果该脚本可以与文件系统进行交互将是一团糟吗?您将访问的任何页面都将能够在您的假日图片和您保存在计算机上的其他个人资料中爬行。 不正确的想法!这就是为什么浏览器中不提供诸如fs之类的某些库的原因。

类似地,由于没有HTML和用户交互,只有 headless 程序在运行,服务器中的jQuery之类的某些库不可用(或根本没有用)。


  

那么,在用户单击按钮之后,我该怎么做才能写入JSON文件?

您可以设置:

  • 将要写入JSON文件的NodeJS服务器
  • 在用户单击按钮后,让jQuery使用要写入的数据调用jQuery服务器

如果您需要进一步的指导,请在评论中告诉我!我将准备好编辑我的问题,以便包括设置这种环境的说明。