使用javascript解析cookie字符串,并使用数据拉入html
这是我的情况。我有一个项目,我的后端.Net团队将向我传递一个cookie,例如:使用javascript解析cookie字符串,并使用数据拉入html,javascript,html,cookies,Javascript,Html,Cookies,这是我的情况。我有一个项目,我的后端.Net团队将向我传递一个cookie,例如: COOKIE=ID=1&NAME=Foo&AGE=30&EMPLOYED=Y&ACTIVE=N 然后,我需要解析这些数据,并为每个数据设置条件,以便将哪些HTML拉入我的页面。基本上用HTML填充空div,HTML将映射到字符串值声明的内容 有人做过这样的事情吗?我的第一个想法是拆分字符串,创建一个数组,然后以某种方式解析出值。然后将它们映射到单个唯一的HTML文件 谢谢你的帮助
COOKIE=ID=1&NAME=Foo&AGE=30&EMPLOYED=Y&ACTIVE=N
然后,我需要解析这些数据,并为每个数据设置条件,以便将哪些HTML拉入我的页面。基本上用HTML填充空div,HTML将映射到字符串值声明的内容
有人做过这样的事情吗?我的第一个想法是拆分字符串,创建一个数组,然后以某种方式解析出值。然后将它们映射到单个唯一的HTML文件
谢谢你的帮助!我以前使用过Cookie,但从未使用过类似的东西。我建议您在后端代码而不是前端代码中找到正确的html 我已经根据您提供的测试值创建了一个本地cookie。 下面的代码,设置并获取本地cookie,拆分键值对并显示它们 另外,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>
var testCookie=“COOKIE=ID=1&NAME=Foo&AGE=30&EMPLOYED=Y&ACTIVE=N”;
函数setCookie(cname,exdays){
var d=新日期();
d、 设置时间(d.getTime()+(exdays*24*60*60*1000));
var expires=“expires=“+d.togmString();
document.cookie=testCookie+“;”+过期;
}
函数getCookie(名称){
变量nameEQ=name+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i 对于(i=0;i)为什么不让后端生成正确的html,因为它们拥有所有数据,并且不做不必要的往返返回到客户端?