0

如何在 javaScript:Jquery 中的客户端保存/持久化和访问数据?

我正在使用 Jquery:JavaScript 的 jsTree 组件。

在jstree的bind()中,选择节点后我想保存“数据”

.bind("select_node.jstree", function (event, data) { 
// where & how to save data ?
}

$("#Btn").click(function() {
// I want to access data value on click event
}

我试图在 cookie 中设置数据对象并在 $("#Btn").click(function() {... 但无法访问相同的数据对象

+

我还尝试了 jQuery.data() 即在 bind() 中设置数据,例如......

jQuery.data(div, "selectedNode", data);

并尝试在 $("#Btn").click(function(){.... 中访问

var selectedNodeData = jQuery.data(div, "selectedNode"); // Can't access

在此问题上的任何帮助或指导将不胜感激。

4

2 回答 2

1

您的解决方案是网络存储,它是 HTML 5 流行语的一部分,但旧浏览器不支持它,您可以使用localstorage

于 2012-04-17T09:18:30.587 回答
0

要跨多个页面持久化数据localStorage,有sessionStoragecookies解决方案。

如果你没有让它工作,那么你有什么问题。我建议您向我们展示您用于 cookie 的代码 :)

要在单个页面上共享数据,您可以使用data()jQuery。但是通过这种方式,您可以将数据附加到 DOM 元素,而不是无处可去。这是一个示例:

$.data( '#myId', 'selectedNode', '#nodeSelected' )
// There, I attach the "selectedNode" key with the "#nodeSelected" value
// to the "#myId" element.

// To retrieve the data later, you have to use:
var el = $.data( '#myId', 'selectedNode' )

// Then, you can use the value like this:
$( el ).on( 'click', fn )
于 2012-04-17T09:29:20.000 回答