2

我试图在 cookie 中维护一些对象来恢复一些设置。最初我尝试在 window.unload 中使用 cookie 保存和恢复设置。它在整个页面加载时工作。但在我的情况下它不起作用,因为整个页面没有加载,只是使用 ajax post(ajax load) 替换特定内容。那么你能告诉我在哪种情况下我可以将这些值保存在 cookie 中以在使用 ajax post 时恢复?

我在 window.unload 事件中尝试了以下代码

window.onunload = function (e) {
    var gridObjModel = $("#Grid");
    var myCookie = escape(JSON.stringify({ 
        "CurrentPage": gridObjModel.pageSettings.currentPage, 
        "SortedColumns": gridObjModel.sortSettings.sortedColumns, 
        "GroupedColumns": gridObjModel.groupSettings.groupedColumns 
    }));
    document.cookie = myCookie;
}
4

1 回答 1

1

您可以尝试以下方法:

$(window).on("unload", function (e) {
    var gridObjModel = $("#Grid");
    var myCookie = escape(JSON.stringify({ 
        "CurrentPage": gridObjModel.pageSettings.currentPage, 
        "SortedColumns": gridObjModel.sortSettings.sortedColumns, 
        "GroupedColumns": gridObjModel.groupSettings.groupedColumns 
    }));
    document.cookie = myCookie;
});

当您执行 ajax 加载时,只需在之前触发卸载:

$(window).trigger("unload");
$("#foo").load(someUrl);
于 2013-06-29T09:10:42.140 回答