ajax demande de téléchargement d'un fichier excel m'indique réponse tronquée
Je suis en train de télécharger un fichier Excel à l'aide d'Ajax (XMLHttpRequest).
À la fin de la responseText est trouvée avoir à seulement 5 caractères.
Le réseau reniflant de l'outil (Violoniste) m'indique que mon ordinateur a reçu la totalité du fichier..
alors pourquoi est le responseText en me montrant seulement 5 caractères? J'ai essayé à la fois de Synchroniser et Asynch appels.
Merci pour toute aide que vous pouvez donner ici.
var xmlHttpReq = getXmlHttpRequestObject();
function getXmlHttpRequestObject(){
var xmlhttp;
if (window.XMLHttpRequest){//code for all new browsers
xmlhttp=new XMLHttpRequest();
}else if (window.ActiveXObject){//code for IE5 and IE6
//xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
progids = ['MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.3.0', 'Microsoft.XMLHTTP'];
for (i=0 ; i < progids.length; i ++){
try {
xmlhttp = new window.ActiveXObject(progids[i]);
break;
} catch (e) {
//do nothing
}
}
}
return xmlhttp;
}
//utility method for http get
function doSynchronousGet(url){
if(xmlHttpReq == null){
xmlHttpReq = getXmlHttpRequestObject();
}
//change last param to true for making async calls.
xmlHttpReq.open("GET" ,url,false);
xmlHttpReq.setRequestHeader("Connection", "close");
xmlHttpReq.send(null);
return xmlHttpReq.responseText;
}
var resultText = doSynchronousGet(url);
alert('resultText length: '+ resultText.length);
alert('resultText: '+ resultText);
OriginalL'auteur rk2010 | 2009-12-22
Vous devez vous connecter pour publier un commentaire.
Le problème est probablement que XMLHttpRequest n'est pas en général de prendre des données binaires comme un fichier Excel. Si vous voulez juste pour permettre à l'utilisateur de télécharger le fichier, lire Ramiz post. Si vous avez besoin de lire les données en JavaScript, essayez de passer à un format de texte comme CSV (ou mieux pour l'analyse, JSON). Si vous avez vraiment besoin de lire un fichier binaire, il y a des discussions de ce ici et ici.
Où est Ramiz post?
OriginalL'auteur Annie
Ne pas utiliser de l'appel Ajax (xmlhttprequest) à télécharger/télécharger des fichiers. Mieux de le faire sur le côté serveur.
OriginalL'auteur Krunal