jQuery DataTables Ссылка на XHR не передается для xhr.dt при использовании плагина Pipline - PullRequest
1 голос
/ 21 января 2020

Версия DataTables: 1.10.20

В настоящее время я использую плагин pipe и слушаю событие xhr . Событие xhr запускается, как и ожидалось, однако параметр xhr в обратном вызове не определен. В объекте настройки также есть свойство jqXhr, но оно также не определено.

Ниже приведен фрагмент из подключаемого модуля конвейера

settings.jqXHR = $.ajax( {
                "type":     conf.method,
                "url":      conf.url,
                "data":     request,
                "dataType": "json",
                "cache":    false,
                "success":  function ( json ) {
                    cacheLastJson = $.extend(true, {}, json);

                    if ( cacheLower != drawStart ) {
                        json.data.splice( 0, drawStart-cacheLower );
                    }
                    if ( requestLength >= -1 ) {
                        json.data.splice( requestLength, json.data.length );
                    }

                    drawCallback( json );
                }
            } );

Кажется, что вызывается drawCallback () событие xhr. Он использует файл settings.jqXHR (устанавливается в приведенном выше коде), чтобы передать параметр xhr обратно событию. Поскольку этот успех является асинхронным обратным вызовом c, я ожидал бы, что setting.jqXHR будет доступен из объекта настроек, но он не определен из drawCallback ().

Еще одна альтернатива, которую я рассматриваю, - это изменение Код линии трубопровода для запуска события xhr, однако это приведет к тому, что событие будет запущено 2 раза, так как оно уже запускается в drawCallback (). Это не похоже на правильный способ решения проблемы.

У кого-нибудь был какой-либо успех в подключении к событию xhr с плагином pipline и доступ к параметру xhr, или есть какие-либо предложения о том, как решить проблему?

1 Ответ

0 голосов
/ 23 января 2020

Это было кросс-пост на форуме DataTables. Аллану удалось исправить проблему с помощью кода конвейера.

Спасибо - для исправления требуется код небольшое изменение в коде конвейера. Я привел живой пример здесь: http://live.datatables.net/xovesoso/1/edit.

Аллан

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...