【问题标题】:Trying to write to a json file using Node fs.writeFile尝试使用 Node fs.writeFile 写入 json 文件
【发布时间】:2019-03-20 16:49:42
【问题描述】:

我希望我说得对。我要做的是使用 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!");
    });

});

【问题讨论】:

  • 这个sn-p应该运行在浏览器还是服务器上?

标签: node.js post writefile


【解决方案1】:

将 jQuery 与 fs 一起使用?哇,那可能很棒!不幸的是,事情没有那么简单!

让我向您介绍服务器端 VS 客户端 JavaScript。实际上,网上有很多关于这方面的资源——只要用谷歌搜索,或者查看this other StackOverflow question 的答案。基本上 JavaScript 既可以在浏览器(Chrome、Mozilla...)上运行,也可以作为程序(通常是用 NodeJS 编写的服务器)运行,虽然语言(几乎)相同,但两个平台都不'没有相同的功能。

您显示的脚本应该在浏览器中运行,因为它使用 jQuery 并与按钮和其他东西(又名DOM)进行交互。你能想象如果该脚本可以与文件系统交互会是多么混乱吗?您将访问的任何页面都可以在您保存在计算机上的假日照片和其他个人资料中四处搜寻。 坏主意!这就是为什么某些库(如 fs)在浏览器中不可用的原因。

类似地,一些像 jQuery 这样的库在服务器中不可用(或者根本没用),因为没有 HTML 和用户交互,只有 headless 程序在运行。


那么,当用户点击一个按钮后,我该怎么写一个 JSON 文件呢?

您可以设置:

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

如果您想进一步了解这方面的指导,请在 cmets 中告诉我!我将准备好编辑我的问题,以便包含有关设置此类环境的说明。

【讨论】:

  • 我完全理解客户端与服务器端的概念,但感谢您的重述。我可能以错误的方式问了我的问题。我目前正在使用 Vue.js,该节点在我的本地主机上运行。要运行我的应用程序,我正在使用 npm start
  • 这看起来像我需要的stackoverflow.com/questions/17981677/…
  • 如何使用 fs.writeFile 编写 ajax 帖子来更新 json 文件?
  • @ifelse 你在浏览器中使用fetch 制作你的ajax,然后你设置一个服务器来响应这个请求,然后服务器进行写入
  • 我在尝试 POST 到本地文件时遇到 404 错误。发布0.0.0.0:8080/static/server.js 404(未找到)。我正在使用 Vue.js
猜你喜欢
  • 2019-06-11
  • 2019-01-26
  • 1970-01-01
  • 2019-01-09
  • 2020-12-09
  • 1970-01-01
  • 2019-11-04
  • 2019-08-15
  • 1970-01-01
相关资源
最近更新 更多