Nano Hash - криптовалюты, майнинг, программирование

Обновлять данные при добавлении нового параметра

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

URL-адрес, используемый для загрузки ajax, может быть чем-то вроде report.php?batch=1&id=5.

Что я хочу сделать, так это предоставить ссылку, которая позволит пользователю загрузить результаты отчета. Для этого я хочу отправить тот же запрос на сервер, но тогда я просто отправлю представление в CSV вместо HTML. Для этого я хочу добавить к URL-адресу дополнительную переменную, чтобы получилось что-то вроде report.php?batch=1&id=5&output=download.

Я пробовал пару способов добавить эту переменную, но оба безуспешно. К вашему сведению, я присвоил конфигурацию данных переменной с именем fixTheHeader.

1) попробуйте установить значение с помощью fnServerParams. fixTheHeader.push({"output":"download"});, а затем перезагрузите таблицу с помощью fixTheHeader.fnReloadAjax();. Хотя это не вызвало никаких ошибок, переменная также не была добавлена ​​к URL-адресу.

2) получить URL-адрес, установленный в качестве исходного URL-адреса ajax, используя

    var source = $(fixTheHeader'.$classNameToAppend.').parents(".dataTables_wrapper").find("table:first").dataTable().fnSettings().oInit.sAjaxSource;

затем добавьте &output=download к source и перенаправьте окно. Проблема с этим подходом заключалась в том, что ?batch=1&id=5 больше не было частью URL-адреса.

Я не придирчив к тому, какой подход заставляет его работать, но есть ли способ в datatables получить переменные URL +, добавить дополнительную переменную, а затем повторно отправить на сервер без перезагрузки страницы? Я не хочу жестко кодировать этот URL-адрес с параметрами, поскольку я хотел бы, чтобы этот же код можно было использовать для нескольких отчетов. Я надеюсь, что в этом есть смысл.

Я использую текущую версию (1.9.4) таблиц данных (http://datatables.net/)


Ответы:


1

Вы можете добавить ссылки для скачивания (csv, pdf) в любую таблицу данных с помощью TableTools доп.

Пример инициализации с помощью TableTools:

$('#example').dataTable( {
    "sDom": 'T<"clear">lfrtip',
    "oTableTools": {
        "sSwfPath": "/swf/copy_csv_xls_pdf.swf"
    }
} );
21.04.2014
  • Спасибо за ответ, но я уже знаю о TableTools. Мне не нравится, что для этого требуется использовать .swf, поэтому меня интересует другой подход. 22.04.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..