简体   繁体   English

在服务器端设置的Cookie不能在客户端(ASP.NET)中访问

[英]Cookies set in Server side not accessible in client side (ASP.NET)

Im setting a up a cookie value from server side in a button event as follows. 我在按钮事件中从服务器端设置cookie值,如下所示。

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

But when I check the value of downloadToken from clientside using JQUERY Cookie plugin, it returns undefined. 但是,当我使用JQUERY Cookie插件从客户端检查downloadToken的值时,它返回未定义。

 Cookies.get("downloadToken"); //returns undefined

Immediately after Response.cookies.add, there is a file download code. 在Response.cookies.add之后,立即有一个文件下载代码。 That is actually sending file to the client for downloading. 那实际上是在发送文件到客户端进行下载。

 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()

May I know Whats wrong in my code? 我可以知道我的代码有什么问题吗?

I was able to solve it. 我能够解决。 It was because Httponly is set to true. 这是因为Httponly设置为true。

I changed it 我改变了

myCookie.HttpOnly = False

Now am getting the value in client side 现在在客户端获得价值

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM