DT: datatableAjax застрял на сервере «Processing ...» = False работает нормально - PullRequest
0 голосов
/ 29 марта 2019

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

"Не удалось загрузить ресурс: сервер ответил со статусом 400 (неверный запрос)"

На сервере:

     output$dt <- DT::renderDataTable({
        dtdf <- data1()[,-13:-14] %>%
          mutate(Action = paste('<a class="go-map" href="" data-lat="', Latitude, '" data-long="', Longitude, '" data-zip="', ID, '"><i class="glyphicon glyphicon-pushpin"></i></a>', sep=""))
        action <- DT::dataTableAjax(session, dtdf)
        DT::datatable(dtdf, extensions = 'Buttons', options = list(ajax = list(url = action), dom = 'Bfrtip', buttons = c('excel', 'pdf'), pageLength = 25, columnDefs = list(list(className = 'dt-center', targets ="_all"))), escape = FALSE)
      })

На интерфейсе пользователя:

 DT::dataTableOutput("dt")

Простое переключение на параметр server=FALSE, как показано ниже, работает, как и ожидалось.Однако мой набор данных слишком велик, чтобы отключить обработку на стороне сервера.

  output$dt <- DT::renderDataTable({
    dtdf <- data1()[,-13:-14] %>%
      mutate(Action = paste('<a class="go-map" href="" data-lat="', Latitude, '" data-long="', Longitude, '" data-zip="', ID, '"><i class="glyphicon glyphicon-pushpin"></i></a>', sep=""))
    action <- DT::dataTableAjax(session, dtdf)
    DT::datatable(dtdf, extensions = 'Buttons', options = list(ajax = list(url = action), dom = 'Bfrtip', buttons = c('excel', 'pdf'), pageLength = 25, columnDefs = list(list(className = 'dt-center', targets ="_all"))), escape = FALSE)
  }, server = FALSE)

Что я делаю не так?

1 Ответ

0 голосов
/ 05 апреля 2019

Для тех, у кого есть подобные проблемы, попробуйте установить последнюю версию!

Новая установка DT с devtools::install_github('rstudio/DT'), кажется, решила это для меня!

...