PHPExcelを使用し、ボタンをクリックでエクセルを出力してるのですが、処理に時間がかかることが多いためローディングを表示させたいと思っています。
ボタンクリック時にJavaScriptでローディングを表示することは出来るのですが、出力後にローディングを消す方法を探しています。
かなり省略していますが、以下のような状態です。
<?php require __DIR__ . '/vendor/autoload.php'; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $book = new PHPExcel(); $sheet = $book->getActiveSheet(); $book->getActiveSheet()->setTitle('test'); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="output.xlsx"'); header('Cache-Control: max-age=0'); $writer = PHPExcel_IOFactory::createWriter($book, 'Excel2007'); $writer->save('php://output'); exit; } ?> <!DOCTYPE html> <html lang="ja"> <head> <title>PHPExcel</title> </head> <body> <form action="" method="post"> <input type="submit" value="出力"> </form> <script> // ローディングを表示 </script> </body> </html>
submitをクリックすると、エクセルはダウンロードされますがローディングが表示されたままになってしまいます。
ajaxを使用してjavascriptでリダイレクトをしようと試してみましたがうまくいきませんでした。
何かいい方法があればご教示いただけると助かります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/09 01:59
2017/06/09 02:06
2017/06/09 02:22
2017/06/09 02:31
2017/06/09 02:34
2017/06/09 02:52
2017/06/09 02:54
2017/06/09 04:45
2017/06/09 05:20
2017/06/09 05:22