Как создать сессию с помощью JavaScript?

Как создать сессию в JavaScript?

Я пробую как это:

<script type="text/javascript" >
{
Session["controlID"] ="This is my session";
}
</script> 

Почему я поиск сессии?

Я выполняю запрос для XML использование Ajax. Ответ XML, который я хочу сохранить на сессии и этой сессии, которую я хочу передать странице сервера (.asp). Я означаю писать что-то как:

<% response.write session("MySession")%>
38
задан Alex.K. 5 August 2016 в 09:06
поделиться

3 ответа

Вы можете использовать имя attr:

<script type="text/javascript" >
{
window.name ="This is my session";
}
</script> 

Вам все равно придется разработать для себя формат или использовать оболочку из уже существующей библиотеки (mootools, Dojo и т. Д.).
Вы также можете использовать файлы cookie, но они более тяжелы для производительности, поскольку они передаются от клиента к серверу и обратно и относятся к одному домену.

0
ответ дан 27 November 2019 в 03:26
поделиться

Думаю, вы неправильно поняли концепцию сеанса, сеанс - это хранилище данных для каждого пользователя на стороне сервера, которое позволяет вам сохранять пользовательские данные на стороне сервера.

Таким образом, у вас есть 2 варианта: прибегнуть к использованию файлов cookie, что создаст иллюзию сеанса (но не совсем то же самое), вы можете получить доступ к файлам cookie очень просто с помощью document.cookie.

но если вы хотите, чтобы ваш сервер знал о сеансе, вам нужно использовать какой-то запрос к серверу, вероятно, лучший способ - использовать AJAX для этого.

Я бы порекомендовал вам перечитать определение сессий.

9
ответ дан 27 November 2019 в 03:26
поделиться

В 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')
52
ответ дан 27 November 2019 в 03:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: