2016-10-12 43 views
0

我從此代碼中收到'Cookie未定義'錯誤。這段代碼出了什麼問題?請幫助解決它。Cookie未定義錯誤

$('#save-dashboard').on('click', function (e) { 
     var filtersNew = $("#graph-filters").val(); 
     if (!filtersNew) { 
      alert('No Filters!'); 
     } 
     if (cookie.enabled()) 
     { 
      cookie.defaults.path = '/'; 
      var cookieFilters = cookie.get('cookie-filter-list'); 
      if (cookieFilters) { 
       cookieFilters = cookieFilters + '#' + filtersNew; 
       cookie.defaults.expires = 30; 
       cookie.set('cookie-filter-list', cookieFilters); 
       cookie.defaults.path = '/'; 
      } 
     } else { 
      cookie.defaults.expires = 30; 
      cookie.set('filter-list', cookieFilters); 
      cookie.defaults.path = '/'; 
     } 
    }); 

我已經設置app.use(express.cookieParser())

+1

編譯器是正確的,什麼是地獄** **被'cookie'? 'cookie.enabled()'是什麼意思? – Ted

+0

你的cookie變量來自哪裏?你有關於它的聲明嗎?如果沒有,那麼這就是爲什麼你會收到錯誤。 – Tom

回答

0

這裏是你應該如何與餅乾進行:

  1. 打開終端,
  2. 瀏覽到您的應用程序文件夾

$ NPM安裝cookie-parser

您必須在您的應用中導入cookieparser。

var express = require('express'); 
var cookieParser = require('cookie-parser');  
var app = express(); 
app.use(cookieParser()); 

cookie-parser解析Cookie頭部和與由cookie名稱鍵入對象填充req.cookies

要設置一個新的Cookie在你的快遞應用這樣定義

app.get('/cookie',function(req, res){ 
    res.cookie(cookie_name , 'cookie_value').send('Cookie is set'); 
}); 

一個新的路線到達一個cookie;

app.get('/', function(req, res) { 
    console.log("Cookies : ", req.cookies); 
}); 

您可以設置過期時間的cookie

res.cookie(name , 'value', {expire : new Date() + 9999}); 

終於清除cookie的

app.get('/clearcookie', function(req,res){ 
    res.clearCookie('cookie_name'); 
    res.send('Cookie deleted'); 
});