killer8080
18.06.2014 - 13:06
Цитата (barkar@mail.ru @ 18.06.2014 - 12:11) |
Алгоритм таков: 1. button->click 2. AJAX->json->phpexcel.php 3. phpexcel.php->pdo->query->PHPExcel->save(php://output) 4.Как поток только для записи php://output передать на страницу родителя где была нажата кнопка |
1 выкинуть аякс и сделать обычную ссылку (ну или кнопку если очень хочется) на файл генерящий эксель.
2 Выставь соответствующие заголовки (как выше показали) в начале кода
3 всё)))
barkar@mail.ru
18.06.2014 - 13:12
В AJAX-> данные для выборки с БД-> new PHPExcel
AJAX->JSON->return (false|true)
Привык к этой связке jquery->ajax->json
Очень не люблю перезагрузки страниц.
Есть рабочий вариант с сохранением данных в файл, увидел вариант с php://output подумал - возможно как-то передать этот поток на другую страницу без создания файла на сервере, вот и вся затея.
killer8080
18.06.2014 - 13:17
Цитата (barkar@mail.ru @ 18.06.2014 - 13:12) |
Очень не люблю перезагрузки страниц. |
никакой перезагрузки не будет, просто откроется диалог сохранения файла.
Аякс тут как пятое колесо в телеге
Int_20h
18.06.2014 - 13:20
Я в последнем сообщении дал тебе готовый рабочий вариант без создания файла на сервере и без AJAX. Если тебе так уж хочется именно использовать AJAX и jquery - пожалуйста, городи огород, но это неправильный подход.
barkar@mail.ru
18.06.2014 - 13:28
killer8080 вы правы я и забыл про ссылки.
Решение:
<a href="/phpexcel.php" download target="_blank">ССылка</a>
Решение как всегда оказалось на много проще.
Спасибо за помощь вопрос закрыт!
Спасибо еще раз.
killer8080
18.06.2014 - 13:43
причем target="_blank" то же лишний
barkar@mail.ru
18.06.2014 - 13:46
killer8080 :
Уже убрал
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.