刷新后localStorage清除

问题描述 投票:3回答:1

出于某种原因,每当我尝试在Reservas属性下将某些内容保存到我的localStorage时,如果我刷新页面,则localStorage中的数据将被清除。

我已经使用了类似的方法来存储我的应用程序(其他页面)上的注册表单中的数据,并且它可以完美地存储它。我不知道为什么这不起作用。

$(document).ready(function() {
  var userlog;
  var reserva = {}
  var reservas = []
  var dia_semana_input = document.getElementById('sel_dia')
  var refeicao_input = document.getElementById('sel_tipo')
  var prato_input = document.getElementById('sel_prato')

  var error_fix = {
    nome: "1",
    dia: "1",
    refeicao: "1",
    prato: "1"
  }
  reservas.push(error_fix)
  localStorage.setItem("Reservas", JSON.stringify(reservas));
  var utilizadores = JSON.parse(localStorage.getItem('utilizadores'))
  console.log(utilizadores)
  console.log(reservas)
  reservas = JSON.parse(localStorage.getItem('Reservas'))
  /* verificação para mais tarde utilizar nas reservas*/
  for (var i = 0; i < utilizadores.length; i++) {
    if (utilizadores[i].ativo == 1) {
      userlog = utilizadores[i].Username
    }
  }

  $("#btnReservar").click(function() {
    /*Stores object into array */
    /*which then stores into local storage(?)*/
    var dia_semana = dia_semana_input.value
    var refeicao = refeicao_input.value
    var prato = prato_input.value
    for (var i = 0; i < reservas.length; i++) {
      if (reservas[i].nome == userlog && reservas[i].dia == dia_semana) {
        console.log("primeiro")
        alert('Já existe uma reserva para esse dia!')
      } else {
        console.log("segundo")
        reserva.nome = userlog
        reserva.dia = dia_semana
        reserva.refeicao = refeicao
        reserva.prato = prato
        reservas.push(reserva)
        console.log(reservas)
      }
    }

    localStorage.setItem('Reservas', JSON.stringify(reservas))
  });
})
javascript jquery local-storage
1个回答
1
投票

您可以使用该密钥调用setItem。这将导致它被设置为reservas中的值。也许你想打电话给getItem

© www.soinside.com 2019 - 2024. All rights reserved.