Télécharger le fichier excel avec appel ajax

$objPHPExcel = new PHPExcel();
$objPHPExcel->getActiveSheet()->setTitle('TestMessages');
header('Content-Type: application/vnd.ms-excel');
header("Content-Disposition: attachment; filename=test_form_".date("Y-m-d_H:i:s").".xls");
//If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');

Quand je l'appel ci-dessus le code directement à partir du navigateur, le fichier est téléchargé. Mais si je fais un appel ajax de code ci-dessus, je n'ai pas l'invite de téléchargement. Je peux le voir dans l'onglet console, que l'appel ajax a été complété avec succès et un tas de caractères aléatoires est vu dans les données de réponse. Je suis en supposant que c'est l'objet excel.

Personne ne sait comment je peux obtenir le téléchargement excel à l'aide d'ajax? Je ne veux pas d'actualiser la page. Lorsque l'utilisateur clique sur le bouton "exporter", il devrait y avoir un appel ajax vers le fichier php et invite l'utilisateur à télécharger.

Je reffer Le passage des données à partir de PHP classe PHPExcel via AJAX, mais ne comprends pas comment faire pour atteindre mon objectif?

  • Vous pouvez ajouter un iframe caché dans la page. Lors de l'appel ajax retourne l'url de la création de données, l'utilisation de javascript pour rediriger l'iframe pour que l'url qui déclenche automatiquement le téléchargement d'action.
InformationsquelleAutor Sadikhasan | 2014-12-29