ExtJS 4 - Comment télécharger un fichier à l'aide d'Ajax?

J'ai un formulaire avec différents objets textfield et de deux boutons - Exporter vers Excel et de les Exporter au format CSV.

L'utilisateur peut fournir les valeurs des différents champs dans le formulaire et cliquez sur l'un des boutons.

Comportement attendu est que l'une requête Ajax devrait être congédié porter les valeurs de champs que les paramètres et le fichier choisi (Excel/CSV comme par le bouton de la souris) doit obtenir téléchargé (je ne suis pas la soumission du formulaire, comme il doit être fait quelques traitement à l'valeurs avant de les soumettre).

J'ai été en utilisant le code suivant dans la réussite de la fonction de requête Ajax pour le télécharger:

result  =   Ext.decode(response.responseText);

try {
    Ext.destroy(Ext.get('testIframe'));
}

catch(e) {}

Ext.core.DomHelper.append(document.body, {
    tag: 'iframe',
    id:'testIframe',
    css: 'display:none;visibility:hidden;height:0px;',
    src: result.filename,
    frameBorder: 0,
    width: 0,
    height: 0
});

Le code ci-dessus a été fonctionne bien dans le cas où le fichier est créé physiquement sur le serveur. Mais dans mon projet actuel, le fichier n'est pas créé sur le serveur, plutôt que le contenu est juste diffusé sur le navigateur avec les bons en-têtes.

Ainsi, est-il un moyen de télécharger un fichier à l'aide d'Ajax lorsque le fichier n'est pas présent sur le serveur physiquement? Juste pour ajouter que j'ai une longue liste de paramètres dont j'ai besoin pour envoyer au serveur et ne peuvent donc pas tous les ajouter à la src de l'iframe.

Quelqu'un pourrait-il guider à cela?

Merci pour toute aide à l'avance.

stackoverflow.com/questions/5753811/get-response-file-use-extjs/...
Merci pour le partage du lien Amol. Je suis allé à travers elle et la seule raison pour laquelle je n'ai pas utilisé c'était que j'étais incapable de passer des paramètres au serveur de cette façon. Comme mentionné dans la question, j'ai une longue liste de paramètres que je ne peux pas ajouter à l'URL et le transmettre au serveur. Il y a tout un travail autour de ce que vous pouvez proposer? Merci encore.
Sur le téléchargement d'un fichier par la POSTE, voir stackoverflow.com/questions/7563791/... bien que je n'aime pas la réponse sommet, il n'y a actuellement car il semble ignorer l'exigence d'utiliser le javascript pour lancer le téléchargement.

OriginalL'auteur netemp | 2011-10-12