如何从cookie中读取json对象

0 javascript cookies jquery json

我使用 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);
});
Run Code Online (Sandbox Code Playgroud)

我使用 FireBug 来查看保存了哪些 cookie,并且在上面的脚本中创建的 cookie 已成功创建,并且我尝试使用迭代这些值$.each(object, function(i ,e))来查看是否有任何结果出现。

我宁愿不必遍历这些值,而只需使用第一个 if 语句中所示的可链接代码。

我错过了什么/做错了什么?

Ale*_*lex 8

这对我有用

PHP代码

setcookie('message', json_encode(['body'=>'Erro meu amigo', 'type'=>'danger']));
Run Code Online (Sandbox Code Playgroud)

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('+', ' '));
    }
}
Run Code Online (Sandbox Code Playgroud)