【发布时间】:2018-02-12 19:03:48
【问题描述】:
如何在每个 keyup 中将数据保存在 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);
}
}
}
});
});
【问题讨论】:
-
只需使用
localStorage.setItem(key, val)保存值以及何时获取它localStorage.getItem(key)。 -
你能帮我检查一下吗,如何修改检查代码是否已经在本地存储中?如果不是,将从数据库中检索数据。
-
if (localStorage.getItem(<your_key>)) {//exist} else {//do not exist, retrieve from db} -
@Sriped 在 ajax 调用之前我应该在哪里添加这个条件?非常感谢
-
在获取数据值时检查ajax请求之前是否存在,如果在ajax成功回调中不存在则保存值。
标签: javascript trie