【问题标题】:Passing cookies in Response.Redirect在 Response.Redirect 中传递 cookie
【发布时间】:2014-09-18 13:19:04
【问题描述】:

我使用 Classic ASP (vbscript),我将 cookie 添加到响应中,如下所示:

Response.Cookies("mycookie") = "var_cookie"

然后我发出重定向到“etape2.asp”文件:

Response.Redirect("etape2.asp");

在我被重定向到的新页面(“etape2.asp”)上,我尝试像这样检索一个 cookie:

Request.Cookies("mycookie");

但是cookie是空的!!

谁能想到为什么 cookie 没有被传递?

【问题讨论】:

  • 您的浏览器 cookie(隐私)设置或第三方插件可能阻止了 cookie?
  • 这段代码之前是你的开场<html>标签吗?你能保存和检索Session 变量吗?我相信这些也是基于cookies的。另外,分号是怎么回事?
  • 这是在打开 之前。在“Chrome”工作中,“FireFox”会出现此问题
  • 如果您的应用程序在不同的服务器上或在不同的应用程序中,那么 cookie 可能不会被传递。
  • 不,我的应用程序在同一台服务器上

标签: cookies vbscript asp-classic response.redirect


【解决方案1】:

可能值得确保您已经为 cookie 设置了足够长的过期时间,并设置它适用的路径:

所以,例如etape1.asp,这样做……

var_cookie_mycookie                   =  "this is the contents of mycookie"

response.cookies("mycookie").expires  =  now + 1
response.cookies("mycookie").path     =  "/"
response.cookies("mycookie")          =  trim(cstr("" & var_cookie_mycookie))

response.redirect                        "etape2.asp"

在 etape2.asp 中,这样做...

var_cookie_mycookie                   =  trim(cstr("" & request.cookies("mycookie")))

response.write                           "<p>Value of 'mycookie' cookie: " &_
                                         server.htmlencode(var_cookie_mycookie) &_
                                         "</p>"

【讨论】:

    猜你喜欢
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    • 2019-08-27
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    • 2014-07-26
    • 2013-01-11
    相关资源
    最近更新 更多