我使用jquery.cookie来存储我的客户端应用程序cookie,其中一些cookie包含JSON。
到目前为止这是我的剧本
trigger.on('click touchend', function () {
var StoredSettings = $.cookie('qlToggled'),
isToggled = 0,
offset = -300,
endpoint = 15,
triggerX = $('#leftcolumn').offset().left + $('#leftcolumn').width();
if (typeof StoredSettings !== 'undefined') {
isToggled = StoredSettings.toggled;
offset = StoredSettings.cOffset;
endpoint = StoredSettings.cEndpoint;
triggerX = StoredSettings.cTriggerX;
}
if (isToggled == '1') {
offset = 0;
endpoint = 315;
triggerX = $('#leftcolumn').width();
var cookieValues = { toggled: '0', cOffset: offset, cEndpoint: endpoint, cTriggerX: triggerX };
$.cookie('qlToggled', JSON.stringify(cookieValues), { expires: 365, path: '/', json: true });
}
else {
var cookieValues = { toggled: '1', cOffset: offset, cEndpoint: endpoint, cTriggerX: triggerX };
$.cookie('qlToggled', JSON.stringify(cookieValues), { expires: 365, path: '/', json: true });
}
$('#leftcolumn').animate({ 'left': offset }, speeding);
$('#content').animate({ 'margin-left': endpoint }, speeding);
trigger.animate({ 'left': triggerX }, speeding);
});
我使用FireBug查看哪些cookie已保存,并且上述脚本中创建的cookie已成功创建,并且我尝试使用$.each(object, function(i ,e))
迭代这些值以查看是否有任何问题出现并且确实存在。
我宁愿不必迭代这些值,只使用第一个if语句中的可链接代码。
我错过了什么/做错了什么?
答案 0 :(得分:2)
您可以使用jQuery.parseJSON()
来实现这一目标。
jQuery.parseJSON(JSON)
返回:对象
描述:采用格式正确的JSON字符串并返回结果 JavaScript对象。
答案 1 :(得分:1)
与我合作
PHP代码
setcookie('message', json_encode(['body'=>'Erro meu amigo', 'type'=>'danger']));
JS代码
window.onload = function()
{
rc = Cookie.get('message'); //rc == result cookie
if (rc.boolean === true) {
var data = JSON.parse(decodeURIComponent(rc.data));
alert(data.body.replace('+', ' '));
}
}