如何将数据保存在本地存储中以供进一步使用?
how to save data in localstorage for further use?
如何在每次 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.setItem("key1_name", username.firstname)
如@Khan M 所说,使用 localStorage 方法“.setItem(key, value)”保存数据,使用“getItem(key)”检索特定键的值。
据我所知,您在每个 keyUp 上生成了几个不同的变量,因此您应该能够通过简单地创建一个“val”参数的对象来存储所有这些变量,如下所示:
localStorage.setItem(key, {...});
检索整个对象:localStorage.getItem(key);
检索对象内特定 属性 的值:localStorage.getItem(key.propertyName);
希望这个答案对您有用,祝您好运!
如评论中所述:
$('#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
}
...
如何在每次 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.setItem("key1_name", username.firstname)
如@Khan M 所说,使用 localStorage 方法“.setItem(key, value)”保存数据,使用“getItem(key)”检索特定键的值。
据我所知,您在每个 keyUp 上生成了几个不同的变量,因此您应该能够通过简单地创建一个“val”参数的对象来存储所有这些变量,如下所示:
localStorage.setItem(key, {...});
检索整个对象:localStorage.getItem(key);
检索对象内特定 属性 的值:localStorage.getItem(key.propertyName);
希望这个答案对您有用,祝您好运!
如评论中所述:
$('#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
}
...