在服务器端设置的cookie在客户端(ASP.NET)中不可访问
问题描述:
我在按钮事件中从服务器端设置了一个cookie值,如下所示。在服务器端设置的cookie在客户端(ASP.NET)中不可访问
Private Sub btn_set_Click(sender As Object, e As EventArgs) Handles btn_set.Click
Dim myCookie As HttpCookie = New HttpCookie("downloadToken", "sandeep")
myCookie.Expires = Now.AddDays(1)
myCookie.Secure = False
myCookie.HttpOnly = True
Response.Cookies.Add(myCookie)
End Sub
但是,当我从使用jQuery插件的Cookie检查客户方的downloadToken值,则返回undefined。
Cookies.get("downloadToken"); //returns undefined
紧接在Response.cookies.add后面,有一个文件下载代码。这实际上是发送文件到客户端进行下载。
Response.AddHeader("Content-Disposition", "attachment; filename=" & FileInfo.Name)
Response.AddHeader("Content-Length", FileInfo.Length.ToString())
Response.AddHeader("Connection", "Keep-Alive")
Response.ContentType = “application/octet-stream”
Response.ContentEncoding = Encoding.UTF8
Response.TransmitFile(FileInfo.FullName)
Response.Flush()
Response.End()
我可以知道我的代码有什么问题吗?
答
我能解决它。这是因为Httponly设置为true。
我改变了它
myCookie.HttpOnly = False
现在越来越在客户端的价值
的[无法从document.cookie中访问饼干JS,但浏览器显示的cookie存在]可能的复制(HTTP: //stackoverflow.com/questions/17508027/cant-access-cookies-from-document-cookie-in-js-but-browser-shows-cookies-exist) – CodeCaster