【问题标题】:How to save data into JSON file如何将数据保存到 JSON 文件中
【发布时间】:2020-12-28 20:09:58
【问题描述】:

我有一个简单的应用程序来记录执行的服务,但我不想使用数据库。
我有data.JSON,我用纯 JS 获取 ->

fetch('./data/data.json')
.then(res => res.json())
.then(data => {/*fetched data appended into html*/}) 

所以当我想添加新记录时,我不知道如何将新对象保存到 json 中。 我找了一些教程,但一切都是为了 Node.jsphp、...

<form id ="newRow">
 // ...
</form>


<script>
document.getElementById('newRow').addEventListener('submit', addPost);

function addPost(e) {
    e.preventDefault();

    let name = document.getElementById('fname').value;
    let date = document.getElementById('fdate').value;
    let service = document.getElementById('fservice').value;
    let price = document.getElementById('fmoney').value;
    let desc = document.getElementById('fdesc').value;

    const user = {
        id: Date.now(),
        name: name,
        date: date,
        service: service,
        price: price,
        desc: desc
    }
    document.forms[0].reset();
}
</script>

【问题讨论】:

  • 浏览器无权在客户端机器上创建文件。您在服务器端拥有该权限,例如 PHP、ASP.net、Node.js 等。

标签: javascript json web fetch no-database


【解决方案1】:

客户端 JS 无法写入服务器上的文件。

如果可以,那么任何人都可以将文件写入任何服务器。 Google 主页每五秒就会被新的破坏行为或网络钓鱼诈骗覆盖。

客户端 JS 可以发出 HTTP 请求。您需要服务器端代码来从中读取数据并进行处理(通常首先使用适当级别的身份验证/授权)。这将带您回到 Node.js / PHP / 等。

注意:使用一个真实的数据库,从该数据库中生成带有服务器端代码的 JSON。不要试图用 JSON 文件和文件编写代码来构建自己的数据库。这就是竞争条件。

【讨论】:

  • 好的,对于没有托管和数据库的应用程序开发,您有什么建议?这个项目是给我妈妈的,她不明白什么是数据库,更不用说她应该如何运行数据库之类的东西了。
  • Electron.js 和 SQLite 用于数据库。
猜你喜欢
  • 1970-01-01
  • 2021-12-21
  • 2021-05-05
  • 2019-02-13
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
  • 2019-09-28
  • 2017-07-23
相关资源
最近更新 更多