在服务器端设置的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() 

我可以知道我的代码有什么问题吗?

+0

的[无法从document.cookie中访问饼干JS,但浏览器显示的cookie存在]可能的复制(HTTP: //stackoverflow.com/questions/17508027/cant-access-cookies-from-document-cookie-in-js-but-browser-shows-cookies-exist) – CodeCaster

我能解决它。这是因为Httponly设置为true。

我改变了它

myCookie.HttpOnly = False 

现在越来越在客户端的价值