#ajax #jquery #jquery-datatables
#ajax #jquery #таблицы данных
Вопрос:
Есть ли способ сообщить таблицам данных, чтобы они выполняли обычный, а не Ajax, POST?
Моя проблема: я хочу, чтобы пользователь мог экспортировать результаты поиска с данными. Все данные на стороне сервера из базы данных. Я написал несколько десятков пользовательских фильтров, которые отправляются таблицами данных, и это отлично работает. Но при экспорте мне нужно экспортировать весь набор данных, как если бы для нумерации страниц было установлено значение all (-1). Я могу перепечатать форму через datatable, но поскольку это запрос ajax, я не могу отправить данные обратно в cvs, pdf или в любом другом формате, который выберет пользователь.
Я использую php, mysql и фреймворк codeigniter.
Комментарии:
1. Вы проверили плагин TableTools? Позволяет экспортировать в PDF, CSV и т. Д. Я полагаю, что он основан на компоненте Flash.
2. Я сделал, но это не сработало. В основном потому, что ему не хватает некоторых параметров форматирования и он полагается на flash. Что я хотел бы, так это а) способ выполнения обычной публикации с таблицами данных или б) способ перенаправления с помощью php запроса ajax в новое окно, «прерывая» запрос ajax там. Поскольку оба они кажутся довольно невыполнимыми, я просто переписываю запросы в отдельном методе.
3. Есть способы, которыми вы могли бы это сделать, передав дополнительный параметр через fnServerParams ; но к тому времени, когда вы разобрались с логикой, было бы так же просто написать отдельный метод, как вы уже делаете. В этом подходе нет ничего плохого!
4. Хорошо, я изменил свой подход к этому, и он уже работает: в каждом сообщении, сгенерированном таблицами данных, сохраняются данные post. затем кнопка экспорта выполняет обычный переход к методу, который использует ранее сохраненные данные для восстановления набора данных, изменяя только ограничение на -1, и все готово 🙂 В конце концов, действительно просто. Хороший пример того, как тратить слишком много времени ночью, думая в неправильном направлении. Спасибо за ваше время. Также 1 для предложения TableTools, хотя оно не подходит для этой конкретной работы, оно удивительно быстро запускается в работу.