我正在尝试在我的浏览器中设置一个 Cookie,只是为了确保我在此之后提醒 cookie 的值并且它确实有一个 cookie。之后,我将我的位置重定向到谷歌,谷歌通过身份验证后,控制权转到服务器。
现在服务器在这个特定请求中没有值。但奇怪的是,服务器在所有后续请求中都有一个 cookie 值。
这是一些客户端代码:
cookies.SetCookie('CampaignToken', data.CampaignToken, '12/06/2013 00:00:00', '/');
alert(cookies.GetCookie('CampaignToken').toString());
window.location = data.GoogleRequestURL;
这是一些服务器代码,在控制权从谷歌返回后执行:
if (Request.Cookies["CampaignToken"] != null)
{
var cookie = Request.Cookies["CampaignToken"].Value;
Response.Cookies.Remove("CampaignToken");
return Redirect(Request.Url + "/" + cookie);
}
这里需要注意的是 Request.Cookies["CampaignToken"] 第一次返回 null ,然后返回 cookie 的值。此外,当我在访问 Google 之前对客户端发出警报时,cookie 具有价值。