如何在localstorage中保存数据以供进一步使用?

时间:2018-02-12 19:03:48

标签: javascript trie

如何在localstorage中保存每个密钥的数据,当我再次搜索时,将从localstorage显示数据,这次不会从db发送任何数据请求。

$(document).ready(function () {
  $('#input_id').keyup(function (e) {
    var name = $('#input_id').val();
    var data = name.trim();
    var msg = $('#result');
    msg.empty();

    $.ajax({
      url: "search.php",
      method: "post",
      data: { input: data },
      dataType: "",
      success: function (name) {
      console.log(name);
      var getdata = JSON.parse(name);
      var z = getdata.length;
      for (var j = 0; j < z; j++) {
        if (getdata[j].surname) {
          var show_result = '<span id="result">' + getdata[j].firstname + " " + getdata[j].surname + '</span>';
          msg.append(show_result);
        } else {
          var show_result2 = '<span id="result">' + getdata[j].firstname + '</span>';
          msg.append(show_result2);
        }
      }
    }
  });
});

3 个答案:

答案 0 :(得分:1)

使用“localStorage.setItem(key,val)”将数据存储到本地存储中,例如。

localStorage.setItem("key1_name", username.firstname)

答案 1 :(得分:0)

就像@Khan M所说,使用localStorage方法“.setItem(key,value)”来保存数据,使用“getItem(key)来检索特定键的值。

从我看到的,你每个keyUp生成几个不同的变量,所以你应该能够通过简单地创建一个“val”参数的对象来存储所有这些变量:

localStorage.setItem(key, {...});

要检索整个对象:localStorage.getItem(key);

检索对象内特定属性的值:localStorage.getItem(key.propertyName);

希望你觉得这个答案很有用,祝你好运!

答案 2 :(得分:0)

如评论中所述:

$('#input_id').keyup(function (e) {
  var name = $('#input_id').val();
  var data = name.trim();
  var msg = $('#result');
  msg.empty();
  var localdata = localStorage.getItem('my_key'); 

  if (!localdata || localdata !== data) {
    $.ajax({
      url: "search.php",
      method: "post",
      data: { input: data },
      dataType: "",
      success: function (name) {
        localStorage.setItem('my_key', name);
        console.log(name);
        var getdata = JSON.parse(name);
        var z = getdata.length;
        for (var j = 0; j < z; j++) {
          if (getdata[j].surname) {
            var show_result = '<span id="result">' + getdata[j].firstname + " " + getdata[j].surname + '</span>';
            msg.append(show_result);
          } else {
            var show_result2 = '<span id="result">' + getdata[j].firstname + '</span>';
            msg.append(show_result2);
          }
       }
    }
  } else {
     // do something with local data
  }
...