Как я могу опубликовать форму запроса, получить результат из модели, распечатать результат и использовать функцию URL Ajax из Tabulator - PullRequest
0 голосов
/ 05 июля 2019

Уважаемое сообщество переполнения стека, спасибо, что прочитали мой вопрос!,

В моей среде я использую PHP MVC-Codeigniter, а плагин Tabulator, плагин Tabulator, требует AjaxURL для загрузкиданные в таблицу.

Правильно, когда я получаю данные из db (модель), загружаю в контроллер и печатаю json в контроллере, затем передаю URL контроллера в плагин Tabulator, все работает отлично!

Для того, чтобы у меня была база данных, выберите представление формы, в котором отправьте (POST) входы на этот контроллер, о котором я упоминал выше.

У меня есть третий контроллер с видом плагина табулятора, в котором печатаетсятаблица json

Мне нужно POST-запрос базы данных, выбор формы для контроллера, отправка на контроллер, в котором печатается Json, и загрузка в AjaxURL для загрузки данных в представление плагина Tabulator.

Пожалуйста, не могли бы вы помочь мне!

Я пытался передать переменную результата json с одного контроллера на другой, но он не работает нормально, передавая tгрубый URL.

Это мой контроллер Builder, в котором просто загружается форма выбора базы данных.

function builder()
    {
        $this->global['pageTitle'] = 'SPED Fiscal : Query Builder';

        $data['css'] = array(
            'plugins/slimSelect/slimselect.min.css'
        );

        $data['js'] = array(
            'plugins/slimSelect/slimselect.min.js'
        );

        $this->loadViews("queryBuilder", $this->global, $data);
    }

Это мой контроллер запросов, в котором принимаются входные данные формы выбора базы данных, упомянутые ниже.и запросить запрос к базе данных из модели, и, в конце концов, напечатает его.


function query() {
        header('Content-Type: application/json');

                 $parameters = array(
                        //Primeira linha Principal
                        'repository' => $this->input->post('query-repository'), 
                        'field' => $this->input->post('query-field'), 
                        // Segunda Linha Filtro 1
                        'field2' => $this->input->post('query-field2'),
                        'type' => $this->input->post('query-type'),
                        'value' => $this->input->post('query-value'),
                        // Terceira Linha Filtro 2
                        'field3' => $this->input->post('query-field3'),
                        'type2' => $this->input->post('query-type2'),
                        'value2' => $this->input->post('query-value2'),
                        // Quarta Linha Filtro 3
                        'field4' => $this->input->post('query-field4'),
                        'type3' => $this->input->post('query-type3'),
                        'value3' => $this->input->post('query-value3'),
                        // Quinta Linha Filtro 4
                        'field5' => $this->input->post('query-field5'),
                        'type4' => $this->input->post('query-type4'),
                        'value4' => $this->input->post('query-value4'),
                        // Sexta Linha Filtro 5
                        'field6' => $this->input->post('query-field6'),
                        'type5' => $this->input->post('query-type5'),
                        'value5' => $this->input->post('query-value5'),
                    );

                $taskJson = $this->task_model->listQuery($parameters);

                print_r(json_encode($taskJson));

     }

Это мой контроллер List, в который загружается плагин tabulator, с таблицей в представлении mytask, мне нужно здесь, чтобы получитьданные, которые я запрашивал по методу ниже, отправьте AjaxURL в плагин Tabulator


function list()
    {

        $this->global['pageTitle'] = 'SPED Fiscal : My Task';

        $data['css'] = array(
            'dist/css/tabulator/tabulator.css',
            'dist/css/tabulator/tabulator_site.css'
        );

        $data['js'] = array(
            'dist/js/tabulator/jquery_wrapper.min.js',
            'dist/js/tabulator/tabulator.min.js',
            'dist/js/tabulator/tabulator_core.min.js',
            'dist/js/tabulator/modules/page.min.js',
            'dist/js/tabulator/modules/sort.min.js',
            'dist/js/tabulator/modules/select_row.min.js',
            'dist/js/tabulator/modules/filter.min.js',
            'dist/js/tabulator/modules/ajax.min.js',
            'dist/js/tabulator/modules/download.min.js',
            'dist/js/tabulator/modules/clipboard.min.js',
            'dist/js/tabulator/customMyTask.js'

        );



        $this->loadViews("mytask", $this->global, $data);
    }

Это моя настройка плагина Tabulator

//create Tabulator on DOM element with id "example-table"
    var table = new Tabulator("#example-table-sender", {
        height: 670, //
        clipboard: true,
        clipboardPasteAction: "replace",
        layout: "fitColumns", //fit columns to width of table (optional)

        ajaxURL:"/sped/task/taskJson",
        ajaxConfig:"POST", //ajax HTTP request type
        ajaxContentType:"json", // send parameters to the server as a JSON encoded string
        virtualDom: true,
        ajaxProgressiveLoad:"scroll",
        pagination:"local",
        paginationSize:18,
        paginationSizeSelector:[5, 10,18,20, 100, 1000],
        placeholder:"No Data has been selected",
        autoColumns:true,
    });

Мне действительно нужен способ, когда я отправляю запросвыберите форму, отправьте результат json на URL Ajax и загрузите этот плагин таблицы табулятора.

Пожалуйста, не могли бы вы мне помочь?

Большое спасибо.

...