【发布时间】:2014-04-18 04:48:10
【问题描述】:
我昨天问了一个非常相似的问题,但我做了一些进一步的研究,昨天问题的标题不太准确。
我有一个 ASP.NET/C# 应用程序。在我的服务器端代码中,我设置了几个 cookie:MyLogin 和 MySession。在我的 C# 代码中,我将这些代码添加到 Response.Cookies。我看到他们在提琴手的回应中回来了。
我的服务器端代码正在通过 JavaScript 调用,如下所示:
document.location.href = myURL;
debugger;
在提琴手中,我看到 MyLogin cookie 的过期时间设置为从今天开始的一个月。 MySession 没有过期时间。
我正在使用 IE 开发人员工具来逐步执行上面的 JavaScript 代码。当我停在上面的调试器行时,我运行了我在与 .aspx 页面相同的目录中创建的以下测试页面:
<html>
<head>
<script>
var myCookies = "<h1>Cookies</h1><br/>";
myCookies += document.cookie;
//alert(myCookies);
document.write(myCookies);
</script>
</head>
<body>
</body>
</html>
我看到了我使用 document.location.href = myURL 发送的 cookie,但没有看到在响应中发回的 cookie。我希望在每个 http 请求/响应上设置的 cookie 会随着每个请求继续发送到浏览器,直到它们过期。
我绝对没有看到 MySession 和 MyLogin cookie 在加载 myURL 时被从 JavaScript 调用的 Web 服务调用传递。
昨天有人建议 cookie 可能是 httponly,但在我的 C# 代码中,MyLogin 和 MySession cookie 上的 http 属性都是错误的。有没有办法在 Fiddler 中查看这个属性?
-埃里克
【问题讨论】:
标签: c# javascript asp.net cookies