js从Cookies里面取值的简单实现

前端技术 2023/09/07 JavaScript

工作过程中遇到一个Js从Cookies里面取值的需求,Js貌似没有现成的方法可以指定Key值获取Cookie里面对应的值,参阅网上的代码,简单实现如下:

1. 服务端代码,Page_Load里面Cookies写入几个值

using System; 
using System.Collections.Generic; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace WebApplication_TestJS 
{ 
public partial class _Default : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
Response.Cookies[\"DONO\"].Value = \"EDO1406300001\"; 
Response.Cookies[\"DOID\"].Value = \"ABCDEFG123456\"; 
Response.Cookies[\"DOSOURCE\"].Value = \"WUWUWUWU\"; 
Response.Cookies[\"DOTYPE\"].Value = \"2\"; 
} 
} 
}


2. 客户端代码,页面添加按钮和文本框,用于触发和输出获取到的值

<%@ Page Language=\"C#\" AutoEventWireup=\"true\" CodeBehind=\"Default.aspx.cs\" Inherits=\"WebApplication_TestJS._Default\" %> 
<html> 
<script language=\"javascript\" type=\"text/javascript\"> 
function GetCookie() 
{ 
/*获取Cookies里面存放信息 了解其字符串结构*/ 
var Cookies = document.cookie; 
document.getElementById(\"<%=txtContent.ClientID%>\").innerText = Cookies; 

/*处理字符串截取出来需要的目标值*/ 
var target = \"DONO\" + \"=\"; 
if (document.cookie.length > 0) 
{ 
start = document.cookie.indexOf(target); 
if (start != -1) 
{ 
start += target.length; 
end = document.cookie.indexOf(\";\", start); 
if (end == -1) end = document.cookie.length; 
} 
} 

/*目标值赋值给控件*/ 
document.getElementById(\"<%=txtTarget.ClientID%>\").innerText = document.cookie.substring(start, end); 
} 
</script> 
<head runat=\"server\"> 
<title></title> 
</head> 
<body> 
<form id=\"form1\" runat=\"server\"> 
<div> 
<asp:Button ID=\"btnGetReq\" runat=\"server\" Text=\"获取内容\" OnClientClick=\"GetCookie()\" /> 
<br /> 
<asp:TextBox ID=\"txtContent\" runat=\"server\" Columns=\"120\"></asp:TextBox> 
<br /> 
<asp:TextBox ID=\"txtTarget\" runat=\"server\" Columns=\"120\"></asp:TextBox> 
</div> 
</form> 
</body> 
</html>


3.执行结果,可以看到Cookies就是如第一个文本框中存放结构,根据需要截取相应字符串即可

本文地址:https://www.stayed.cn/item/17641

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。