如何解决如何在 Asp.net core 3.0 中将 url 或电子邮件或特殊字符设置为 cookie?
我想使用 asp.net core 设置 cookie。我使用此代码添加cookie
CookieOptions options = new CookieOptions();
options.Expires = DateTime.Now.AddDays(5);
Response.Cookies.Append("email","hello@gmail.com",options);
但在 cookie 中,电子邮件并未按原样存储。它就像 hello%gmail.com 。我可以将 URL 和电子邮件存储到 cookie 中。
任何帮助。谢谢
解决方法
据我所知,如果您将 cookie 存储在响应中,它将默认使用 url 加密 cookie。
当您检查客户端 cookie 时,它将存储如下:
这不会影响在您的 asp.net 核心后端代码中读取 cookie。
源代码默认会解密cookie值,让你看到结果。
更多细节,你可以参考下面的例子:
var re = Request.Cookies["email"];
结果:
我尝试使用 Javascript 读取 cookie,但它似乎没有按应有的方式显示
如果你想从js中读取cookie,你应该使用decodeURIComponent
解码方法。
更多细节,您可以参考以下代码:
$(document).ready(function () {
var read_cookies = document.cookie;
var split_read_cookie = read_cookies.split(";");
for (i = 0; i < split_read_cookie.length; i++) {
var value = split_read_cookie[i];
value = value.split("=");
if (value[0] == " email" ) {
alert(value[1]);
alert(decodeURIComponent(value[1]));
}
}
});
结果:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。