Como criar uma session usando JavaScript?

Como criar session em JavaScript ?

Eu tento assim:

  { Session["controlID"] ="This is my session"; }  

Por que eu estou procurando por uma session?

Eu faço uma solicitação para XML usando o AJAX. Resposta XML Eu quero armazenar na session e esta session eu quero passar para a página do servidor (.asp). Eu quero escrever algo como:

  

Você pode armazenar e ler informações de string em um cookie.

Se for um id de session vindo do servidor, o servidor pode gerar esse cookie. E quando outra solicitação é enviada ao servidor, o cookie também é enviado. Sem ter que fazer nada no navegador.

No entanto, se é javascript que cria o ID da session. Você pode criar um cookie com javascript, com uma function como:

 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=/"; } 

Então, em cada página você precisa desta ID de session, você pode ler o cookie, com uma function como:

 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 ''; } 

A function de leitura funciona em qualquer página ou guia do mesmo domínio que a tenha escrito, se o cookie foi criado a partir da página em javascript ou do servidor.

Para armazenar o id:

 var sId = 's234543245'; writeCookie('sessionId', sId, 3); 

Para ler o id:

 var sId = readCookie('sessionId') 

Eu suponho que você está usando o asp.net MVC (c #), se não, então esta resposta não está em seu problema.

É impossível atribuir valores de session diretamente através de javascript? Não, existe uma maneira de fazer isso.

Olhe novamente seu código:

  

Um pouco de mudança:

  

A session “controlID” foi criada, mas e quanto ao valor da session? Isso é persistente ou pode ser alterado via javascript?

Vamos mudar um pouco mais:

  

A session é criada, mas o valor dentro da session será “‘+ strTest +'”, mas não “This is my session”. Se você tentar escrever variável diretamente no código do servidor como:

 <%Session["controlID"] = strTest;%> 

Em seguida, ocorrerá um erro na sua página “Não há nenhum parâmetro strTest no contexto atual …”. Até agora, ainda parece impossível atribuir valores de session diretamente através do javascript.

Agora eu mudo para um novo caminho. Usando WebMethod no código por trás para fazer isso. Veja novamente o seu código com um pouco de mudança:

  

Na página code-behind. Eu crio um WebMethod:

 [System.Web.Services.WebMethod] public static string CreateSessionViaJavascript(string strTest) { Page objp = new Page(); objp.Session["controlID"] = strTest; return strTest; } 

Depois de chamar o método da web para criar uma session do javascript. A session “controlID” terá valor “Esta é minha session”.

Se você usar a maneira que eu expliquei, então adicione este bloco de código dentro da tag de formulário da sua página aspx. O código ajuda a ativar os methods de página.

  

Fonte: JavaScript – Como definir valores para a session em JavaScript

Codding feliz, Tri

Eu acho que você entendeu mal o conceito de session, a session é um lado do servidor por usuário-data-store, que permite que você salve os dados do usuário no lado do servidor.

assim, você tem duas opções, recorrer ao uso de cookies, que dará a ilusão de session (mas não exatamente o mesmo), você pode acessar cookies muito simplesmente por document.cookie.

mas, se você quer que seu servidor esteja ciente da session, você precisa usar algum tipo de requisição de servidor, provavelmente a melhor maneira é usar o AJAX para fazer isso.

Eu recomendaria que você relesse a definição de sessões.

Você pode usar o armazenamento local.

armazenamento local é o mesmo que session. os dados serão removidos quando você fechar o navegador.

  
 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=/"; } 

Você pode tentar jstorage plugin javascript, é uma maneira elegante de manter as sessões verificar isso http://www.jstorage.info/

inclua o script jStorage.js no seu html

  

Em seguida, no seu javascript, coloque o sessiontoken na chave como esta

 $.jStorage.set("YOUR_KEY",session_id); 

Onde “YOUR_KEY” é a chave usando o qual você pode acessar o session_id, desta forma:

 var id = $.jStorage.get("YOUR_KEY"); 

Você pode usar o sessionStorage, ele é semelhante ao localStorage, mas o sessionStorage fica claro quando a session da página termina, enquanto o localStorage não tem um conjunto de expiração.

Veja https://developer.mozilla.org/pt-BR/docs/Web/API/Window/sessionStorage

Você pode usar o name attr:

  

Você ainda tem que desenvolver para si o formato a ser usado, ou usar um wrapper de uma biblioteca já existente (mootools, Dojo etc).
Você também pode usar cookies, mas eles são mais pesados ​​no desempenho, pois eles vão do cliente para o servidor e são específicos de um domínio.

Você pode armazenar e ler informações de string em um cookie.

Se for um id de session vindo do servidor, o servidor pode gerar esse cookie. E quando outra solicitação é enviada ao servidor, o cookie também é enviado. Sem ter que fazer nada no navegador.

No entanto, se é javascript que cria o ID da session. Você pode criar um cookie com javascript, com uma function como:

A function de leitura funciona em qualquer página ou guia do mesmo domínio que a tenha escrito, se o cookie foi criado a partir da página em javascript ou do servidor.

Se você criar um cookie e não especificar uma data de expiração, ele criará um cookie de session que expirará no final da session.

Consulte https://stackoverflow.com/a/532660/1901857 para mais informações.

localStorage e jstorage são suas melhores apostas. localStorage é construído e o jstorage oferece muitas funcionalidades

Veja o suporte ao navegador localStorage em caniuse .

  

binding

Aqui está o que eu fiz e funcionou, criei uma session em PHP e usei o xmlhhtprequest para verificar se a session é configurada sempre que uma página HTML é carregada e funcionava para o Cordova.

Use armazenamento local em HTML5. Você pode armazenar e usar os dados sempre que desejar.

  
    Intereting Posts