Request.Cookies 和 Document.cookie 信息不匹配

来源:互联网 发布:草图大师软件下载 编辑:程序博客网 时间:2024/05/17 22:32

在您使用客户端的代码 (document.cookie) 编写 cookie 时,写入值不匹配的活动服务器页面页面中 Request.Cookies 返回的值。最常见的行为是删除空格。

例如 document.cookie 使用代码编写

<SCRIPT Language=vbscript>
document.cookie = "MyCookie = Here is some text."
</SCRIPT>

Request.Cookies("MyCookie") 从返回的值是"Hereissometext。

 

 

 

为 HTTP 不自动编码 document.cookie 写入的值。 例如对于冒号 (:) 编码的 HTTP 将作为"%3a"返回。Request.Cookies 期望为已编码的字符串。 如此一来未编码的字符串被解释为编码,从而导致 document.cookie 和 $Request.Cookies 中的不同值。

 

 

 

当您的代码将 cookie 写入 document.cookie 时,该代码应使用 cookie 值编码的 JavaScript escape() 函数。 下面的示例将写入称为"MyCookie"cookie 和对值进行编码。

<SCRIPT Language=javascript></SCRIPT>

<SCRIPT Language=vbscript>
document.cookie = "MyCookie = " & escape("Here is some text.")
</SCRIPT>

注意: 为了要使用 JavaScript escape() 函数从 Microsoft Visual Basic 脚本 (VBScript) 必须引用 JavaScript 脚本引擎,HTML 页中的至少一次 (如示例所示)。

原创粉丝点击