这是我的情况。我有一个项目,我的后端.Net团队将通过我一个cookie,如:
COOKIE=ID=1&NAME=Foo&AGE=30&EMPLOYED=Y&ACTIVE=N
然后我需要解析这些数据,并根据数据为我想要拉入我的页面的HTML设置条件。基本上用HTML填充空div,这些div将映射到字符串值声明的内容。
有没有人曾经做过这样的事情?我的第一个想法是拆分字符串,创建一个数组,然后以某种方式解析值。然后将它们映射到各个唯一的HTML文件。
我感谢任何帮助!我以前曾经使用过cookie,但从来没有像这样。
答案 0 :(得分:0)
我的建议是你在后端代码而不是前端找出正确的html。
我根据您提供的测试值创建了一个本地cookie。 下面的代码设置一个本地cookie并获取它,分割键值对并显示它们。
P.S。默认情况下,Google Chrome会禁用本地Cookie,因此这似乎无效。只需在IE中试用,这就是为您演示的。
以下是符合您要求的解决方案:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var testCookie="COOKIE=ID=1&NAME=Foo&AGE=30&EMPLOYED=Y&ACTIVE=N";
function setCookie(cname,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = testCookie+"; "+expires;
}
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function checkCookie() {
var c=getCookie("COOKIE");
var cookieElements = [];
cookieElements = c.split("&");
var cookieNameValuePairs = "Name | Value\n";
var keyValue = [];
for(i=0;i<cookieElements.length;i++){
keyValue = cookieElements[i].split("=");
cookieNameValuePairs += keyValue[0] + " | " + keyValue[1] + "\n";
}
alert(cookieNameValuePairs);
}
</script>
</head>
<body onload="checkCookie()"></body>
</html>