Как создать сессию в JavaScript
?
Я пробую как это:
<script type="text/javascript" >
{
Session["controlID"] ="This is my session";
}
</script>
Почему я поиск сессии?
Я выполняю запрос для XML использование Ajax. Ответ XML, который я хочу сохранить на сессии и этой сессии, которую я хочу передать странице сервера (.asp). Я означаю писать что-то как:
<% response.write session("MySession")%>
Вы можете использовать имя
attr:
<script type="text/javascript" >
{
window.name ="This is my session";
}
</script>
Вам все равно придется разработать для себя формат или использовать оболочку из уже существующей библиотеки (mootools, Dojo и т. Д.).
Вы также можете использовать файлы cookie, но они более тяжелы для производительности, поскольку они передаются от клиента к серверу и обратно и относятся к одному домену.
Думаю, вы неправильно поняли концепцию сеанса, сеанс - это хранилище данных для каждого пользователя на стороне сервера, которое позволяет вам сохранять пользовательские данные на стороне сервера.
Таким образом, у вас есть 2 варианта: прибегнуть к использованию файлов cookie, что создаст иллюзию сеанса (но не совсем то же самое), вы можете получить доступ к файлам cookie очень просто с помощью document.cookie.
но если вы хотите, чтобы ваш сервер знал о сеансе, вам нужно использовать какой-то запрос к серверу, вероятно, лучший способ - использовать AJAX для этого.
Я бы порекомендовал вам перечитать определение сессий.
В cookie можно хранить и читать строковую информацию.
Если от сервера приходит идентификатор сессии, сервер может сгенерировать этот файл cookie. И когда другой запрос будет отправлен на сервер, cookie тоже придет. Без необходимости делать что-либо в браузере.
Однако если идентификатор сессии создается javascript. Вы можете создать cookie с помощью javascript, с функцией типа:
function writeCookie(name,value,days) {
var date, expires;
if (days) {
date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
expires = "; expires=" + date.toGMTString();
}else{
expires = "";
}
document.cookie = name + "=" + value + expires + "; path=/";
}
Затем на каждой странице, где вам нужен этот идентификатор сессии, вы можете прочитать cookie, с функцией типа:
function readCookie(name) {
var i, c, ca, nameEQ = name + "=";
ca = document.cookie.split(';');
for(i=0;i < ca.length;i++) {
c = ca[i];
while (c.charAt(0)==' ') {
c = c.substring(1,c.length);
}
if (c.indexOf(nameEQ) == 0) {
return c.substring(nameEQ.length,c.length);
}
}
return '';
}
Функция чтения работает с любой страницы или вкладки того же домена, который ее записал, либо если cookie был создан со страницы на javascript, либо с сервера.
Для хранения id:
var sId = 's234543245';
writeCookie('sessionId', sId, 3);
Для чтения id:
var sId = readCookie('sessionId')