Je cherche depuis un moment sur le net et votre discussion se rapproche le plus de ce que je souhaite...
Cependant, mes raisons de chercher à dowloader un fichier avec AJAX sont différentes : mon clique gauche est bien libre...
Je me demande si cette solution AJAX est obligatoire pour mon problème ou si il existe une solution plus simple à ma problématique ?
Petite description du contexte :
Côté PHP, le fichier est généré en live. Parfois, il peut arriver que la génération ne puisse pas se faire. Ma fonction retourne alors une erreur. côté PHP ressemble à ça :
Code : Tout sélectionner
$erreur = generer_fichier( $info );
if( $erreur )
{
echo $message_erreur;
}
else
{
header("Content-disposition: attachment; filename=monfichier.pdf" );
header("Content-type: application/pdf" );
echo $info;
}Code : Tout sélectionner
(...)<a href="/test.php">lien direct</a>(...)- si le fichier est bien généré j'ai directement la fenêtre de chargement du fichier et ma page reste inchangée
- si le fichier n'est pas bien généré ma page est remplacé par le message d'erreur
En AJAX, je renvoie le message en JSON et l'affiche dans une alerte... Mais là c'est quand la génération réussie que je ne sais plus comment afficher la fenêtre d'enregistrement du fichier côté client...
Avez-vous une idée pour faire simple et ne pas recharger la page en cas d'erreur ?