2015-10-19 5 views
1

В локальном каталоге браузера с именем userToken есть ключ, и я пытаюсь его получить, поэтому я могу декодировать его с помощью личного ключа.nodeJS localstorage получение значений

Я использую пакет, называемый узел-LocalStorage, который можно найти здесь https://github.com/lmaccherone/node-localstorage

Но она возвращает null

Что может быть проблема?

app.get('/getitnow', function(req,res) { 
    var LocalStorage = require('node-localstorage').LocalStorage; 
    var localStorage = new LocalStorage('./scratch'); 
    console.log(localStorage.getItem('userToken')); 

}); 
+2

Это не будет доступ к локальному хранилищу браузера. Как вы думаете, что это должно работать вообще? Что вам нужно сделать, так это отправить запрос от клиента на сервер с помощью токена. –

+0

'Что вам нужно сделать, так это отправить запрос от клиента на сервер с помощью токена. Пользователь userToken (key) уже существует, и я хочу, чтобы он получил его значение. Если я не знаю его значения, как я могу отправить запрос от клиента на сервер? – salep

+1

Вы не можете получить значение из браузера localstorage, используя серверный код. Вы извлекаете токен на клиенте и отправляете его на сервер. –

ответ

0

localstorage зависят браузер, NodeJs находится на стороне сервера.

Попробуйте использовать сессии:

var express = require('express'); 
var app = express(); 

app.use(express.cookieParser()); 
app.use(express.session({secret: '12345'})); 
0

Это не догонит значение от клиента. node-localstorage - localstorage для узла. Вот почему он возвращает null, потому что вы не задали никаких значений в дереве каталогов.

0
app.get('/getitnow', (req,res)=> { 
    var LocalStorage = require('node-localstorage').LocalStorage; 
    var localStorage = new LocalStorage('./scratch'); 
    localStorage.setItem('userToken', yourToken)//if you are sending token. 
    console.log(localStorage.getItem('userToken')); 
}); 

Node.js работает на стороне сервера, поэтому клиентская сторона localStorage здесь не работает. Если вы отправляете форму на узел (экспресс).

app.post('/getitnow', (req,res)=> { 
     var LocalStorage = require('node-localstorage').LocalStorage; 
     var localStorage = new LocalStorage('./scratch'); 
     localStorage.setItem('userToken', req.body.userToken)//if you are sending token. 
     console.log(localStorage.getItem('userToken')); 
    }); 

и ваша форма сообщения будет выглядеть следующим образом.

<html> 
    <body> 
    <form method="post" action="/getitnow"> 
    <input type="hidden" name="userToken" value="eyGjasdkfasdfe4eafafsf0..."> //name should be must 
    </form> 
    </body> 
    </html> 
Смежные вопросы