Динамическая подгрузка данных по скроллингу вниз (пагинация по скроллингу)

Суть - подгрузка порции данных при скроллинге. К примеру новости - пользователь крутит вниз экран и при достижении определенной позиции в контейнер погружается очередная порция данных. 

Демостенд - https://demo.falconspace.ru/list/watch/paginaciya-dannykh-po-skrollingu---1179

Используем следующую разметку: 

<div class="as-scrollLoad bg-warning" data-code="articles" data-itemid="123">
    Изначально некоторые данные есть (например, статичный контент под SEO...)
 </div> 

На странице одновременно может быть только 1 такой элемент. 

Параметры: 

При достижении низа контента в элементе запускается подгрузка данных через процедуру request с фиксированным названием request_scroll_load.

CREATE PROCEDURE [dbo].[request_scroll_load]
	@parameters ExtendedDictionaryParameter READONLY,  
	@username nvarchar(32)
AS
BEGIN
    declare @code nvarchar(max) = isnull((select value2 from 
                         @parameters where [Key] = 'code'), '')
    declare @itemID nvarchar(max) = isnull((select value2 from 
                         @parameters where [Key] = 'itemID'), '')
    declare @page int = isnull((select try_cast(value2 as int) from 
                         @parameters where [Key] = 'page'), '')
    declare @s nvarchar(max) = ''
    declare @pageSize int = 10
    if(@code='articles') begin 
    
        select  @s = @s + '' + cast(num as nvarchar) + '. '+ isnull(text, '') + ''
        from (
            select 
                ROW_NUMBER() over (order by ord) num,
                url text 
            from as_menu  
            order by ord
            OFFSET @PageSize * (@Page - 1) ROWS
            FETCH NEXT @PageSize ROWS ONLY) t1 
        
        select 1 Result, @s Msg
        

    end
    
    
    -- SELECT 1 Msg, Result
	select '' Msg, 0 Result

    -- SELECT 2 Основные данные в виде произвольной таблицы
    -- SELECT 3 Внешние действия
END

На вход нам приходят page, code, itemID, которые задают какие данные выдать (pageSize определяется в самой процедуре).

На выходе модель Result, Msg: 

Страница-источник на сайте falconspace.ru