如何在html中使用会话存储?

时间:2016-04-08 10:05:07

标签: javascript html sharepoint

你好我有2个html页面。在第一页,我借助caml查询从sharepoint 2013获取数据。我将值存储在集合中。

这是我的Javascript:

    489631651402

    492260348528

上面的代码适用于第1页。在listItemEnumerator集合中有32个对象。抱歉,我是新手,所以我现在不怎么说,但是这里来自调试器:<script type="text/javascript"> $(document).ready(function () { var scriptbase = "examplebase" $.getScript(scriptbase + "SP.Runtime.js", function () { $.getScript(scriptbase + "SP.js", doNext); }); }); var siteUrl = "example.example"; function doNext() { console.log("SharePoint geladen!!"); retrieveListItems(siteUrl); } function retrieveListItems(siteUrl) { var clientContext = new SP.ClientContext(siteUrl); var oList = clientContext.get_web().get_lists().getByTitle('Component Documents'); var camlQuery = new SP.CamlQuery(); camlQuery.set_viewXml('<View><ViewFields><FieldRef Name="ComponentID" /><FieldRef Name="FileRef" /><FieldRef Name="ComponentType" /><FieldRef Name="FileLeafRef" /></ViewFields><Query><Where><Eq><FieldRef Name="ComponentCategory" /><Value Type="Text">Datenblatt</Value></Eq></Where></Query></View>'); this.collListItem = oList.getItems(camlQuery); clientContext.load(collListItem); clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed)); } function onQuerySucceeded(sender, args) { var listItemInfo = ''; var listItemEnumerator = this.collListItem.getEnumerator(); while (listItemEnumerator.moveNext()) { var oListItem = listItemEnumerator.get_current(); console.log(oListItem); } sessionStorage.setItem('test', listItemEnumerator ); } function onQueryFailed(sender, args) { alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace()) } </script> 希望这有帮助......

在第2页,我想用新表格填充数据:

[object Object]{$0_0: Object {...}, $2P_0: false, $5_0: Object {...}, $R_0: Object {...}}

使用此Javascript:

<form id="myForm">
  <select id="selectNumber">
    <option>Choose a number</option>
  </select>

但不管怎样,会话总是未定义,我不知道为什么。有人可以解释一下为什么这个剂量有效吗?

任何帮助都会很棒,谢谢你的时间。

BTW抱歉我的英文

1 个答案:

答案 0 :(得分:1)

setItem方法接受键和值,两者都必须是字符串。在您的示例中,您始终使用密钥&#34; test&#34;但我怀疑这是允许你调试的。

根据this S.O post,您需要使用类似JSON的内容将对象序列化为字符串。