AJAX telechargement de fichiers
x-timas
Messages postés
124
Date d'inscription
Statut
Membre
Dernière intervention
-
x-timas Messages postés 124 Date d'inscription Statut Membre Dernière intervention -
x-timas Messages postés 124 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai "telechargement.php" qui me crée un fichier CSV et qui me permet de le télécharger.
Tout marche à merveille si je tape directement l'url de "telechargement.php" avec mes variables $_GET mais quand j'ai voulu exécuter le même fichier mais avec Ajaw pour éviter de recharger ma page ça ne marche plus.
J'ai affiché ma variables xhr_object.responseText et elle contenait les données qui devront être en principe dans le fichier que je vais télécharger.
Comment remédier à ce problème?
Il y a peut être des options à ajouter ou quelque chose dans ce genre pour qu'il m'exéucute juste mon fichier php?
Heeeeeeeeeeeelp!! C'est urgent je suis bloqué y a pas mal de temps la dessus :'(
j'ai "telechargement.php" qui me crée un fichier CSV et qui me permet de le télécharger.
Tout marche à merveille si je tape directement l'url de "telechargement.php" avec mes variables $_GET mais quand j'ai voulu exécuter le même fichier mais avec Ajaw pour éviter de recharger ma page ça ne marche plus.
J'ai affiché ma variables xhr_object.responseText et elle contenait les données qui devront être en principe dans le fichier que je vais télécharger.
Comment remédier à ce problème?
Il y a peut être des options à ajouter ou quelque chose dans ce genre pour qu'il m'exéucute juste mon fichier php?
Heeeeeeeeeeeelp!! C'est urgent je suis bloqué y a pas mal de temps la dessus :'(
A voir également:
- AJAX telechargement de fichiers
- Site de telechargement - Accueil - Outils
- Dark world telechargement - Guide
- Téléchargement - Télécharger - Compression & Décompression
- Telechargement - Télécharger - Traitement de texte
- Adobe Reader - Télécharger - PDF
3 réponses
Un up de stressé après onze minutes et douze secondes, faut oser quand même...
Pis avec les infos que tu donnes, ça va être coton de t'aider, on n'est pas devins !
Pis avec les infos que tu donnes, ça va être coton de t'aider, on n'est pas devins !
je passe le code de ma fonction ajax:
Dans telecharger_reponse.php j'ai:
L'exécuter tout seul me permet de télécharger mon fichers.
En Ajax ça ne passe plus, et quand j'ai fait un alert(tmp) dans ma fonction ajax il m'a affiché les données qui devront être dans le fichier.
Voila voilu, j'esper que ça aide et désolé pour le stress
function download_answer(file){ var xhr_object = null; if (window.XMLHttpRequest){ // Firefox xhr_object = new XMLHttpRequest(); // Handling Safari/firefox bug : if (xhr_object.overrideMimeType) { xhr_object.overrideMimeType("text/html"); //xhr_object.overrideMimeType("text/xml"); } } else if(window.ActiveXObject) // Internet Explorer xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); return; } var filename = "telecharger_reponse.php?fiche="+ file; xhr_object.open("GET", filename, true); xhr_object.onreadystatechange = function() { //alert('wait'); if (xhr_object.readyState == 4) { if (xhr_object.status == 200) { var tmp = xhr_object.responseText; if(tmp == "ok"){ alert("Ok"); }else{ alert("Un problème est survenu."); } }else{ alert('Un problème est survenu.'); } } } xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr_object.send("NULL"); return(false); }
Dans telecharger_reponse.php j'ai:
$fichier = 'Reponses/'.$_SESSION['id_sondage'].'_'.$_GET['fiche'].'_reponse.csv'; $fp = fopen($fichier, 'w') or die("can't open file"); $txt = array(); $txt2 = array(); foreach($reponse as $r){ $question = $req->get_question_by_id($r['id_question']); $txt[] = $question['titre_q']; str_replace("__", " | ", $r['text_reponse']); $txt2[] = $r['text_reponse']; } fputcsv($fp, $txt, ";"); fputcsv($fp, $txt2, ";"); fclose($fp); header('Content-Transfer-Encoding: binary'); header('Content-Disposition: attachment; filename="reponse_'.$_GET['fiche'].'.csv"'); readfile($fichier);
L'exécuter tout seul me permet de télécharger mon fichers.
En Ajax ça ne passe plus, et quand j'ai fait un alert(tmp) dans ma fonction ajax il m'a affiché les données qui devront être dans le fichier.
Voila voilu, j'esper que ça aide et désolé pour le stress