[QUOTE]Ольга Потаева написал:
Сергей Эстрин , а вы побороли эту проблему? Аналогичная ситуация, отвалился $APPLICATION->set_cookie из аякса после обновления до 18.0. Подключение эпилога не спасло, переход на синтаксис D7 не спас.[/QUOTE]
Важное замечание: запись куки, добавленной через D7, произойдет только при подключении эпилога (там вызывается метод Bitrix\Main\HttpResponse::flush() ) ([URL=https://www.intervolga.ru/blog/projects/d7-analogi-lyubimykh-funktsiy-v-1s-bitriks/#section12]https://www.intervolga.ru/blog/projects/d7-analogi-lyubimykh-funktsiy-v-1s-bitriks/#section12[/URL])
[URL=https://dev.1c-bitrix.ru/api_d7/bitrix/main/web/cookie/index.php]https://dev.1c-bitrix.ru/api_d7/bitrix/main/web/cookie/index.php
[/URL] Павел Дорошин 22.02.2017 12:41:49
Если вы будете добавлять cookie через ajax, подключая только prolog_before.php, то обязательно нужно обновить заголовки, иначе cookie на запишутся.[TABLE][TR][TH]Код[/TH][/TR][TR][TD]$application = Application::getInstance();
$context = $application->getContext();
$cookie = new Cookie("TEST", 12, time() + 60*60*24*60); $cookie->setDomain($context->getServer()->getHttpHost());
$cookie->setHttpOnly(false); $context->getResponse()->addCookie($cookie);
$context->getResponse()->flush("");[/TD][/TR][/TABLE]
Сергей Эстрин , а вы побороли эту проблему? Аналогичная ситуация, отвалился $APPLICATION->set_cookie из аякса после обновления до 18.0. Подключение эпилога не спасло, переход на синтаксис D7 не спас.[/QUOTE]
Важное замечание: запись куки, добавленной через D7, произойдет только при подключении эпилога (там вызывается метод Bitrix\Main\HttpResponse::flush() ) ([URL=https://www.intervolga.ru/blog/projects/d7-analogi-lyubimykh-funktsiy-v-1s-bitriks/#section12]https://www.intervolga.ru/blog/projects/d7-analogi-lyubimykh-funktsiy-v-1s-bitriks/#section12[/URL])
[URL=https://dev.1c-bitrix.ru/api_d7/bitrix/main/web/cookie/index.php]https://dev.1c-bitrix.ru/api_d7/bitrix/main/web/cookie/index.php
[/URL] Павел Дорошин 22.02.2017 12:41:49
Если вы будете добавлять cookie через ajax, подключая только prolog_before.php, то обязательно нужно обновить заголовки, иначе cookie на запишутся.[TABLE][TR][TH]Код[/TH][/TR][TR][TD]$application = Application::getInstance();
$context = $application->getContext();
$cookie = new Cookie("TEST", 12, time() + 60*60*24*60); $cookie->setDomain($context->getServer()->getHttpHost());
$cookie->setHttpOnly(false); $context->getResponse()->addCookie($cookie);
$context->getResponse()->flush("");[/TD][/TR][/TABLE]