您的位置:首页 > Web前端 > JavaScript

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

2014-06-30 00:00 483 查看
工作过程中遇到一个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就是如第一个文本框中存放结构,根据需要截取相应字符串即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: