Как мы можем получить доступ к sessionStorage на стороне сервера, используя MVC?

Я сохраняю некоторые нечувствительные к пользователям данные в window.sessionStorage. эти данные относятся к вкладке браузеров, теперь я хочу получить доступ к данным, которые я сохранил в хранилище сеансов со стороны сервера, как я могу это сделать.

2 ответа

Ты не можешь 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.

Создайте скрытое поле asp.net, как это,

Page.ClientScript.RegisterStartupScript(this.GetType(), "", "$('#MainContent_hiddenFieldID').val(sessionStorage.getItem('sessionStorageVariableName'));", true);

затем просто сослаться на скрытое поле в вашем коде сервера.

Другие вопросы по тегам