ASP:当 request.cookies 发生 Microsoft VBScript 运行时错误 (0x800A000D) 类型不匹配: '[string:
昨天当一个客户告诉我,登录后看不到图片的时候,我还不相信,因为我的浏览器测试发现一切正常。
通过QQ远程协助后,我才发现服务器端真的报错:
Microsoft VBScript 运行时错误 (0x800A000D)
类型不匹配: '[string: ""]'
检查代码,发现错误行:
if request.cookies("name") = 1 then
奇怪,为什么我的浏览器上运行不报错呢,经过分析,原来他的浏览器禁用了 cookie。
导致 request.cookies("name") 的值为空。
当cookie的值为空时,不能用 =1 这样的表达式,而应该用 ="1",改正后的代码:
if request.cookies("name") = "1" then
结论:对程序中所读取的所有cookie,应该用字符串类型进行比较,这样才安全。
2010-02-02