Всем привет! Помогите пожалуйста, столкнулся вот с такой проблемой.
На странице размещен вызов компонента bitrix:main.ui.grid :
Массив $columns:
То есть данные в нём есть и они корректные.
$listId: "list_21"
$nav:
Если я переключаю отображение страниц с 50 штук на 100 штук на странице, а потом перехожу с 1 страницы на 2ю, то в самом гриде у меня не отображается ни одной записи. как такое может быть??
В инфоблоке 266 записей. При постраничной навигации по 100 штук на страницу, на 1 и 2 странице должно быть по 50 штук, а на 3-й 66 элементов.
А получается так, что на 1-й странице отображается 100 штук, что корректно, а если кликую в нижней части страницы по цифре 2, чтобы перейти на 2-ю страницу постраничной навигации, то в компонент как-будто не приходят данные.
Консоль Google Chrome отображает ошибку net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)
В браузере Edge тоже самое.
Я начал копать дальше. Консоль хрома ругается на файл data.js (который лежит в local/template/main/components/bitrix/main.ui.grid/epgu/js/data.js)
ругается на кусок кода:
xhr.send(formData);
добавил перед этой строкой отладочные сообщения:
console.log('url:');
console.log(BX.Grid.Utils.ajaxUrl(url, self.getParent().getAjaxId()));
console.log('xhr:');
console.log(xhr);
console.log('formData:');
console.log(formData);
Обнаружил, что в тот момент, когда возникает ошибка,
в xhr.response пусто
в xhr.responseText пусто
в xhr.responseURL пусто
А в те моменты, когда всё корректно работает, в этих полях есть данные
Пробовал конечно и с шаблоном по-умолчанию. Та же самая ошибка. Развернул резервную копию себе на OpenServer - ошибку воспроизвести не могу.
Подскажите, было ли такое у кого-нибудь, и как это лечится?
Скриншоты приложил
На странице размещен вызов компонента bitrix:main.ui.grid :
Код |
---|
$APPLICATION->IncludeComponent( "bitrix:main.ui.grid", "epgu", [ "AJAX_ID" => CAjax::getComponentID("bitrix:main.ui.grid", ".default", ""), "AJAX_MODE" => "Y", "AJAX_OPTION_HISTORY" => "Y", "AJAX_OPTION_JUMP" => "N", "ALLOW_COLUMNS_RESIZE" => true, "ALLOW_COLUMNS_SORT" => true, "ALLOW_HORIZONTAL_SCROLL" => true, "ALLOW_SORT" => true, "COLUMNS" => $columns, "GRID_ID" => $listId, "NAV_OBJECT" => $nav, "PAGE_SIZES" => [ ["NAME" => "5", "VALUE" => "5",], ["NAME" => "10", "VALUE" => "10",], ["NAME" => "20", "VALUE" => "20",], ["NAME" => "50", "VALUE" => "50",], ["NAME" => "100", "VALUE" => "100",], ], "ROWS" => $list, "SHOW_ACTION_PANEL" => true, "SHOW_CHECK_ALL_CHECKBOXES" => true, "SHOW_GRID_SETTINGS_MENU" => true, "SHOW_NAVIGATION_PANEL" => true, "SHOW_PAGESIZE" => true, "SHOW_PAGINATION" => true, "SHOW_ROW_ACTIONS_MENU" => true, "SHOW_ROW_CHECKBOXES" => false, "SHOW_SELECTED_COUNTER" => false, "SHOW_TOTAL_COUNTER" => false, "COMPONENT_TEMPLATE" => ".default", ], false ); |
Код |
---|
[ [ id => ID name => № sort => ID default => 1 ], [ id => NAME name => Номер заявк sort => NAME default => 1 ] ... ] |
$listId: "list_21"
$nav:
Код |
---|
Bitrix\Main\UI\PageNavigation Object ( [id:protected] => list_21 [pageSizes:protected] => Array ( ) [pageSize:protected] => 100 [recordCount:protected] => 101 [currentPage:protected] => [allowAll:protected] => [allRecords:protected] => ) |
Если я переключаю отображение страниц с 50 штук на 100 штук на странице, а потом перехожу с 1 страницы на 2ю, то в самом гриде у меня не отображается ни одной записи. как такое может быть??
В инфоблоке 266 записей. При постраничной навигации по 100 штук на страницу, на 1 и 2 странице должно быть по 50 штук, а на 3-й 66 элементов.
А получается так, что на 1-й странице отображается 100 штук, что корректно, а если кликую в нижней части страницы по цифре 2, чтобы перейти на 2-ю страницу постраничной навигации, то в компонент как-будто не приходят данные.
Консоль Google Chrome отображает ошибку net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)
В браузере Edge тоже самое.
Я начал копать дальше. Консоль хрома ругается на файл data.js (который лежит в local/template/main/components/bitrix/main.ui.grid/epgu/js/data.js)
ругается на кусок кода:
xhr.send(formData);
добавил перед этой строкой отладочные сообщения:
console.log('url:');
console.log(BX.Grid.Utils.ajaxUrl(url, self.getParent().getAjaxId()));
console.log('xhr:');
console.log(xhr);
console.log('formData:');
console.log(formData);
Обнаружил, что в тот момент, когда возникает ошибка,
в xhr.response пусто
в xhr.responseText пусто
в xhr.responseURL пусто
А в те моменты, когда всё корректно работает, в этих полях есть данные
Пробовал конечно и с шаблоном по-умолчанию. Та же самая ошибка. Развернул резервную копию себе на OpenServer - ошибку воспроизвести не могу.
Подскажите, было ли такое у кого-нибудь, и как это лечится?
Скриншоты приложил