我在window.sessionStorage中保存了一些用户不敏感的数据。该数据特定于浏览器选项卡,现在我要从服务器端访问存储在会话存储中的数据,我该怎么做。
答案 0 :(得分:1)
不能。 sessionStorage
是位于客户端计算机上的浏览器中的对象。 ASP.NET MVC驻留在您的服务器上。您不能简单地将客户端浏览器数据“拉”到您的服务器,浏览器必须将其发送给您。
使用JavaScript,您可以读取会话存储中的所有内容,然后发出AJAX请求以将其发送到ASP.NET MVC。
let sessionData = sessionStorage.yourData;
this.http.post('api/wherever', sessionData).subscribe(response => { ... });
另一个选择是不将数据存储在会话存储中,而是存储在cookie中。 Cookie数据与发送到服务器的每个HTTP请求一起传递。这样,就可以立即在ASP.NET MVC中访问数据。
答案 1 :(得分:0)
像这样创建一个asp.net隐藏字段,
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "$('#MainContent_hiddenFieldID').val(sessionStorage.getItem('sessionStorageVariableName'));", true);
然后只需引用服务器端代码上的隐藏字段即可。