-1

我有用于记录执行服务的简单应用程序,但我不想使用数据库。
我有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>
4

1 回答 1

1

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

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

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

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

于 2020-09-10T10:36:24.000 回答