Получить глобально значения переменной JS

есть задача - передать переменную с массивом данных (таблица ag-grid) из main.js (class) в модальное окно (у нее другой маршрут и описание находится в отдельном blade <sсript>...</sсript>). Я обычно передавал путем axios через контроллер в модальное окно, но столкнулся с проблемой, что когда количество строк превышает 10 000, начинаются танцы с бубном и потеря производительности, тк большой объем данных уходит в модальное окно и она просто даже не реагирует и падает сервер... Хочу уйти от передачи через контроллер и забирать переменную с массивом данных в blade файле из главного JS файла. Вот как я передавал ранее

get_sending(){
    let get_data =[];
    let context=this;
    let api = context.dataSetTable.gridOptions.api;
    api.forEachNodeAfterFilter(function (rowNode) {
        get_data.push(rowNode.data);
    });
    axios({
        method: 'post',
        url: '/arm/work_dataset_main/modalAdding',
        data: { header:context.dataSetTable.myHeader, data: get_data}
    }).then(
        function (response) {
            $('#modal_main').html();
            $('#modal_main').html(response.data);
            $('#modalAdding').modal('show');

        }
    ).catch(function (error) {
    });

}

Проект на Laravel + ag-grid


Ответы (1 шт):

Автор решения: Vadim

В таком случае - лучше всего: найти кодера, который подпишет nda и будет делать work с тобой

А пока, вот немножко рефакторинга, ибо сверху 10 строк текста, снизу какой-то код - тз не понятное (И да, как ты уже сам понял, реализация у тебя заведомо неправильная)

function get_sending(){
    const get_data = [];
    const context = this;
    const api = context.dataSetTable.gridOptions.api;

    api.forEachNodeAfterFilter((rowNode)=>{
        get_data.push(rowNode.data);
    });

    axios({
        method: 'post',
        url: '/arm/work_dataset_main/modalAdding',
        data: {header: context.dataSetTable.myHeader, data: get_data},
    }).then((response)=>{
        if(!response || !response.data)throw new Error({message: 'No data in response'});
        console.log('Good');
        $('#modal_main').html();
        $('#modal_main').html(response.data);
        $('#modalAdding').modal('show');
    }).catch((e)=>{
        console.log(`Err ${e.message}`);
    });
}
→ Ссылка