ASP.NET MVC中用于会话的cookie是httpOnly
(属性设置为true)。
有没有办法让它不是httpOnly?
我希望能够从javascript访问此Cookie。
即使它不如“如果所有的宇宙都对我不利,怎么办?”默认设置。
答案 0 :(得分:3)
如果你真的需要它,你可以尝试将它添加到你的Global.asax:
void Application_EndRequest(Object sender, EventArgs e)
{
if (Response.Cookies.Count > 0)
{
foreach (string s in Response.Cookies.AllKeys)
{
if (s == "ASP.NET_SessionId")
{
Response.Cookies["ASP.NET_SessionId"].HttpOnly = false;
}
}
}
}
解决方案取自here。
答案 1 :(得分:0)
我构建了一个使用cookie来存储整个站点搜索参数的系统。 在主页上有链接,我想使用jQuery来保存带有项ID的cookie。
但是点击后,用户就会被发送到高级搜索页面,在那里他们可以使用.net控件来修改搜索。 Cookie会再次保存,但当用户浏览时,它们需要由主页上的js写入。
所以我像这样设置HttpOnly:
import numpy as np
import matplotlib.pyplot as plt
alpha = ['ABC', 'BDF', 'ADF', 'BCF']
data = np.random.random((4,4))
fig = plt.figure()
ax = fig.add_subplot(111)
cax = ax.matshow(data, interpolation='nearest')
fig.colorbar(cax)
ax.set_xticklabels(['']+alpha)
ax.set_yticklabels(['']+alpha)
plt.show()