JavaScript 读取 ASP 服务端设置的 Cookie 方法

作者:半夏时间:2026-10-30 02:10:22浏览:472

本文介绍如何在 JavaScript 中读取由 ASP 服务端通过 Response.Cookies 设置的 Cookie。由于 ASP 设置的多级 Cookie 在客户端表现为扁平字符串,本文提供了一段自定义 JavaScript 代码,通过正则匹配和字符串分割,实现不区分大小写地获取指定 Cookie 名称的值,并处理了子键(key)的提取逻辑。

<%

ASP 服务端 Cookie 设置与 JavaScript 读取原理

在 ASP 服务端,可以通过 Response.Cookies("Cookie1")("key1") = "KeyValue2" 的方式设置带有子键的 Cookie。


%>

JavaScript 读取 Cookie 的完整代码实现

<script language="javascript">




String.prototype.get = function(name){


var reg = new RegExp("(^|&|\\?)" + name + "=([^&]*)(&|$)"),r;


if(r=this.match(reg))


return unescape(r[2]);


return null;


}


//获取并返回 cookie 值


//不区分 cookieName 的大小写


//dfltValue 为默认返回值


//不考虑子键


function RequestCookies(cookieName)


{

var lowerCookieName = cookieName.toLowerCase();


var cookieStr = document.cookie;



if (cookieStr == "")return "";



    

var cookieArr = cookieStr.split("; ");


var pos = -1;


for (var i=0; i<cookieArr.length; i++){


pos = cookieArr[i].indexOf("=");


if (pos > 0) {


if (cookieArr[i].substring(0, pos).toLowerCase() == lowerCookieName)


            {

return unescape(cookieArr[i].substring(pos+1, cookieArr[i].length));


            }
        }
    }

return "";


}

document.write("读取名称为 ab 的 cookie..." + RequestCookies("Cookie1").get("key1"));


-->

</script>


作者最新文章