我在我的项目中使用快速会话。 假设已在Web浏览器和节点js服务器之间实例化会话,并且默认的到期时间为一小时。 现在浏览器中提供了带有connect.sid名称的cookie。
我需要一个函数来扩展用户浏览器和节点js中的到期日期时间。 怎么可能呢?
我已经在服务器端通过以下方式完成了它,但它没有反映在用户浏览器中。 是否有可能将新的到期日期时间推送到用户浏览器cookie?
## cut benchmark out of data
benchmark_ser = data_df.ix[:,0]
## get out the stocks data
stocks_df = data_df.ix[:,1:]
## create/get bounds
bds = (0,.2) # <- i want to change this line
# to something that will provide
# a bound for each variable like
# [(0,.1),(0,.2),(0,.5),(0,.6)]
wgt_arr = sp.optimize.lsq_linear(stocks_df, benchmark_ser, bds)
答案 0 :(得分:0)
在浏览器中读取/写入cookie与在node.js中操作cookie的方式略有不同。在浏览器中,cookie作为document
对象的属性存储,即document.cookie
,作为由分号分隔的一组键值对。
这是一个简单的函数,可以让你创建/修改一个cookie(浏览器处理覆盖现有cookie的逻辑):
function createCookie (name, value, days) {
var expires = ""
var date = new Date()
if (days) {
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000))
expires = "; expires=" + date.toGMTString()
}
document.cookie = name + "=" + value + expires + "; path=/"
}
所以在你的情况下,你只需要打电话:
var hour = 3600000;
createCookie('expires', new Date(Date.now() + hour), 1); // I've arbitrarily chosen one day as the expiry here
createCookie('maxAge', hour, 1); // here too
或者那种效果。希望这有帮助!