У меня есть клиент-серверное веб-приложение, в котором каждый ответ от Сервера будет содержать Cookie
с именем fruitCookie
.
Однако 90 раз из 100 на сервере Cookie
будетбыть установлен как:
Cookie cookie = new Cookie("fruitCookie", "someRefreshedValue");
cookie.setPath("/");
httpResponse.addCookie(cookie);
, где Cookie
равно javax.servlet.http.Cookie
.
Но, оставшиеся 10 раз на сервере Cookie
будет установлен с конечной точки покояas:
NewCookie fruitCokie = new NewCookie("fruitCookie", "someRefreshedValue", "/", "", "", -1, false);
return Response.ok().cacheControl(ResourceCache.NO_CACHE).cookie(fruitCookie).build();
где NewCookie javax.ws.rs.core.NewCookie
.
На стороне клиента я читаю cookie с помощью dojo как:
getCookieValue: function (cookieName) {
return cookie(cookieName); // cookieName is fruitCookie
},
Это прекрасно работает вChrome
.И последнее значение Cookie
из http way или Rest читается в функции выше.
Однако в IE это не работает.Если вызов rest отправляет Cookie
, я вижу новый Cookie
в ответе на консоли разработчика, однако, приведенный выше вызов продолжает возвращать старое значение уже в браузере и часть отправленного запроса.
Я не уверен, как это вызывает браузер IE, или это связано с Path и Domain, или это так, как работает виджет cookie dojo.
Как я могу решитьэтот вопрос?