我从这个代码中得到'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())
如何处理cookie:
- 打开终端,
- 浏览到你的app文件夹
$ NPM install 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,在你的express应用中定义一个新的路由,像
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');
});