Можно ли использовать выборку JavaScript для хранения данных формы в памяти? - PullRequest
0 голосов
/ 01 апреля 2019

Я настраиваю демонстрационную форму регистрации, где пользователи могут создать учетную запись.Предоставленные учетные данные должны храниться в памяти или в пользовательском файле (user.json) и могут использоваться для входа в систему и перенаправления на страницу профиля пользователя.

Я создал файл user.json иположить образец пользовательской информации в нем.Я могу использовать fetch для console.log () сведений о пользователе из файла user.json, но как мне добавить больше пользователей в файл, используя 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 нового пользователя, добавленного;

Ответы [ 2 ]

0 голосов
/ 01 апреля 2019

JavaScript имеет несколько API для хранения данных в памяти компьютера (например, localStorage), но это очень плохая практика при хранении учетных данных, поскольку только пользователь будет иметь доступ к учетным данным. Я советую вам создать небольшую базу данных с сервером, например, сервер Koa и база данных MongoDB.

0 голосов
/ 01 апреля 2019

Один путь, который вы могли бы выбрать, - абстрагировать «реализацию хранилища» от вашего кода. Вы можете сделать это, создав API, который использует ваш код. Затем создайте API таким образом, чтобы вы могли легко менять реализации. Таким образом, вы можете легко использовать HTTP API, БД в памяти или даже localStorage без использования вашего кода.

В качестве альтернативы, вы можете использовать Service Workers , чтобы перехватывать сетевые запросы и что-то с ними делать, например, загружать данные в localStorage и сохранять их в localStorage.

...