У меня есть служба, которая устанавливает повара ie для отключения всплывающих окон со страницы. Я установил домен для этого повара ie, и он должен быть доступен для этого домена. Однако, когда я вызываю страницу с субдомена, java не взял значение cook ie, и вместо этого все еще отображалось всплывающее окно.
ie.
http://www.example.com/landing
landing page (cookie is empty - popup was shown) -> calls java backend to set cookie (pop-up)
cookie - {name: 'pop' value: 'n' }
domain - example.com
http://www.abc.example.com/
page with subdomain (I can see the cookie)
cookie - {name: 'pop' value: 'n' }
domain - example.com
-> make ajax call from http://www.abc.example.com/ to http://www.example.com/landing
cookie - {name: 'pop' value: 'n' }
domain - example.com
Теперь, когда я попытался приземлиться на http://www.example.com/landing, я увидел, что всплывающее окно все еще отображается. Даже для повара ie было установлено значение 'n'. Из журнала я вижу, что значение, полученное от повара ie, равно нулю. Почему это происходит ??
Java бэкэнд -
@RequestMapping(value = "/landing", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody Object getPopup(@RequestBody PopRequest req, HttpServletRequest request,
HttpServletResponse response) {
....
String popup = getCookie(request, "pop");
// this popup is null
...
}
public String getCookie(HttpServletRequest request, String name) {
String value = "";
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if (cookie.getName().equalsIgnoreCase(name)) {
jwt = cookie.getValue();
}
}
}
return value;
}
Обратите внимание, что я могу видеть повара ie из браузера, но когда был сделан вызов, я вижу повара ie было пустым из getCook ie.