读取纯javascript中的cookie(这是一个对象)
Reading a cookie(which is an object) in pure javascript
我正在尝试仅用纯javascript读取cookie。我没有使用任何jquery cookie库。
我的饼干是这样的:
var task_cookie = {
task1 : getTask('task1')
, task2 : getTask('task2')
, task3: getTask('task3')
, task4: getTask('task4')
, task5: getTask('task5')
};
document.cookie = "task_cookie=" + JSON.stringify(task_cookie)+";path=/;domain=.task.com";
现在,我稍后尝试在另一个页面上读取task_cookie的值
我在stackoverflow 上发现了这个代码
function read_cookie(name) {
var result = document.cookie.match(new RegExp(name + '=([^;]+)'));
result && (result = JSON.parse(result[1]));
return result;
}
但这会给我整个task_cookie。不过,我想获取task_cookee中的每个键值。我想要这样的东西:
$.cookie('task1')
$.cookie('task2')
然而,在我字符串化之后,这在jquery中非常容易。但出于某种原因,我需要使用纯javascript。如何获取task_cookie对象中task1、task2等的单个值?我很难弄清楚:/
函数返回整个对象,因此您可以从函数中选择一个单独的cookie:
read_cookie('task_cookie')['task1'];
或者类似的东西。上面的内容只返回task1
,但您可以遍历所有任务。
更好的是,您可以将read_cookie
函数作为一个对象方法,并将cookie对象返回到父对象的一个属性。
var cookieHandler = {
get: function(name) {
//code to get cookies
//push to cookies array
},
cookies: []
};
这样,您就不必每次迭代任务时都为全局函数创建一堆实例。
因此,在获得对象后,从cookie中读取值。
function read_cookie(name) {
var result = document.cookie.match(new RegExp('tasj_cookie=([^;]+)'));
result && (result = JSON.parse(result[1]));
return result ? result[name] : null;
}
更好的是,使用本地存储,而不是cookie。
localstorage.setItem("task1", getTask('task1'));
function read_storage (name) {
return localstorage.getItem(name); //might need to use JSON.parse() depending on the data
}
console.log(read_storage("task1"));
相关文章:
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 对一个对象使用reduce可以返回一个没有't在数组中包含目标字母
- AngularJS&JSON-从Previous&下一个对象
- jQuery$.inArray()总是返回-1和一个对象数组
- javascript处理一个对象数组以获得一个新的对象数组
- javascript函数,它接受两个输入:一个对象和一个键,并返回对象中该键的相应值
- 你能用来自数组的属性名称生成一个对象吗
- 预期响应包含一个对象,但在angular js中得到一个数组错误
- Protractor:element.getText()返回一个对象,而不是String
- 如何使用jQuery添加另一个对象的高度作为边距
- 计算从一个对象到另一个对象的路径并沿其移动
- 如何将一个对象添加到每个对象数组中
- 为了避免创建全局变量,可以将所有变量分配给一个对象吗
- 将javascript对象(属性+值)合并到一个对象中
- 尝试简化检查对象键是否为true并将其推送到另一个对象
- 从 javascript 中的对象方法返回一个对象
- 响应应包含一个对象,但得到的却是GET操作的数组
- js:如何制作一个循环,将20个不同的东西添加到一个对象中
- 读取纯javascript中的cookie(这是一个对象)