我正在设置一个演示注册表格,用户可以在其中创建一个帐户。提供的注册凭证应该存储在内存中或存储在用户文件(user.json)中,并且可以用于登录并重定向到用户配置文件页面。
我已经创建了一个user.json文件,并将示例用户详细信息放入其中。我可以使用fetch从user.json文件中console.log()用户详细信息,但是如何使用fetch将更多用户添加到该文件中?
我尝试过的代码:
let bodyData = {
id: 2,
name: "sarah",
email: "sarah@gmail.com"
};
let postData = {
method: "POST",
body: JSON.stringify(bodyData)
};
// POST data to json file
fetch("./jsonfile/user.json", postData)
.then(data => console.log(data))
.catch(error => console.log(error));
// GET data form json file
fetch("./jsonfile/user.json")
.then(res => res.json())
.then(data => {
data = JSON.stringify(data);
console.log(data);
})
.catch(error => {
console.log(error);
});
我应该能够在console.log的输出中看到添加的新用户;
答案 0 :(得分:0)
您可以采取的一种方法是从代码中抽象出“存储实现”。您可以通过构建代码使用的API来做到这一点。然后以一种可以轻松换出实现的方式构建API。这样,您可以轻松使用HTTP API,an in-memory DB甚至localStorage,而不会破坏代码。
或者,您可以使用Service Workers来拦截网络请求并对其进行处理,例如,将数据加载到localStorage中并将其存储到localStorage中。
答案 1 :(得分:0)
JavaScript有一些用于将数据存储在计算机内存中的API(例如localStorage
),但是在存储凭据时,这是非常糟糕的做法,因为只有用户才能访问凭据。我建议您使用服务器建立一个小型数据库,例如Koa服务器和MongoDB数据库。