#javascript #jquery #json #local
#javascript #jquery #json #Местные новости
Вопрос:
Я пытаюсь создать домашнюю страницу только для личного использования. Я использую локальные файлы (HTML, Javascript), и я хотел бы сохранить данные из списка задач, который я создал, в локальный файл JSON, чтобы данные, которые я записываю, сохранялись между сеансами. Я изучил несколько методов с AJAX, но CORS блокирует любой запрос, который я пытаюсь сделать простым способом.
Как я могу взять данные, которые я поместил в свой список задач, записать их в файл JSON, покинуть страницу и загрузить их из этого файла JSON, когда я вернусь, без привлечения сервера?
Данные уже записаны в переменные. Грубая идея в коде:
// Write to local storage.
$.ajax({
type: "POST",
url: "../common/todo.json",
data: {
item: newItem,
type: type,
priority: priority,
date: dueDate
}
});
В идеале это позволило бы записывать данные непосредственно в файл JSON, из которого я мог бы читать, но CORS блокирует эти запросы, и все решения, которые я нашел, вращаются вокруг Node.js или что-то в этом роде, которое я не могу использовать, так как я хочу, чтобы это оставалось только на моем локальном компьютере и настраивало частный сервер это было бы далеко за рамками этого проекта.
Комментарии:
1. По соображениям безопасности веб-браузеры не могут выполнять запись и чтение из локальной файловой системы.
2. Короткий ответ таков … Ты не можешь. Что касается использования сервера узлов, который, безусловно, можно использовать на локальном компьютере. Другой альтернативой является использование localStorage или indexeddb встроенных в браузер для хранения данных
3. Вы не можете сохранить его в файл, но вы, безусловно, можете сохранить его в sessionStorage или localStorage браузера.
4. Я просто глупый. В прошлом я использовал localStorage и думал, что это будет работать только в том случае, если я использую сервер. Я был неправ. К счастью, у меня уже был написан код, но я удалил его, когда перенес этот код после закрытия этого сервера. TLDR: localStorage был самым простым и правильным способом реализовать это так, как я хотел. Спасибо вам всем!!!