[英]Can't read cookies in Javascript when using IE11
我有一個有角度的應用程序,並且正在使用cookie來跟蹤一些信息。 我使用JavaScript訪問此Cookie,並且在Chrome上一切正常,但是在運行IE11時,我單步執行該代碼,JS無法讀取該Cookie。 我可以在開發人員工具上看到它,並且它不僅設置為HTTP。 我已經啟用了IE上的所有cookie。
任何幫助將不勝感激,因為我不知道為什么IE無法在我的應用程序中很好地播放。
這是我在控制器上設置cookie的方法
HttpResponseMessage Response = new HttpResponseMessage();
JsonMediaTypeFormatter json = new JsonMediaTypeFormatter();
Response.Content = new ObjectContent<PvUser>(MyPOCO, json, "application/json");
var cookie = new CookieHeaderValue(cookieName, cookieValue);
cookie.Domain = Request.RequestUri.Host;
cookie.Expires = DateTimeOffset.Now.AddMinutes(20);
cookie.HttpOnly = false;
Response.Headers.AddCookies(new CookieHeaderValue[] { cookie });
這是w3schools用來按名稱讀取Cookie的代碼
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1);
if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
}
return "";
}
經過許多痛苦和磨難之后,我仍然不知道為什么會這樣,但是發現當我使用HttpReponse而不是HttpResponseMessage時,不會發生此問題。
HttpResponse Response =HttpContext.Current.Response;
Response.Clear();
Response.SetCookie(cookie);
Response.StatusCode = 200;// HttpStatusCode.OK;
Response.ContentType = "applicaiton/json; charset=utf-8";
Response.Write(jsonSerializer.Serialize(loggedInUser));
Response.End();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.