Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript解析cookie字符串,并使用数据拉入html_Javascript_Html_Cookies - Fatal编程技术网

使用javascript解析cookie字符串,并使用数据拉入html

使用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文件 谢谢你的帮助

这是我的情况。我有一个项目,我的后端.Net团队将向我传递一个cookie,例如:

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,因为它们拥有所有数据,并且不做不必要的往返返回到客户端?