Maison > Article > interface Web > Comment gérer l'échec de l'opération de téléchargement du fichier de requête Jquery Ajax
Cette fois, je vous apporte une requête Jquery Ajax téléchargement de fichier comment gérer une opération ayant échoué, quelles sont les précautions lors de la gestion d'un échec d'opération de téléchargement de fichier de requête Jquery Ajax, ce qui suit est un cas pratique, jetons un coup d'oeil.
jQuery est en effet un très bon framework JS léger, qui peut nous aider à développer rapidement des applications JS, et dans une certaine mesure, il a changé notre habitude d'écrire du code JavaScript Cet article I. se concentrera sur l'introduction de l'analyse et des solutions aux raisons pour lesquelles l'opération de téléchargement de fichier de requête Jquery Ajax a échoué. Les amis qui sont intéressés par l'analyse des raisons de l'échec des requêtes Ajax devraient apprendre ensemble
jQuery est en effet un très bon outil. De bons frameworks JS légers peuvent nous aider à développer rapidement des applications JS et, dans une certaine mesure, changer notre habitude d'écrire du code JavaScript.
Arrêtez de dire des bêtises et allons droit au but. Analysons d'abord les raisons de l'échec
1 Les raisons de l'échec
C'est à cause de la réponse. . Généralement, le navigateur demandeur traitera la réponse fournie par le serveur, comme la génération de png, le téléchargement de fichiers, etc. Cependant, la requête ajax n'est qu'une requête de « type caractère », c'est-à-dire que le contenu demandé est stocké sous forme de texte. . Le fichier est téléchargé sous forme binaire. Bien que la réponse renvoyée puisse être lue, elle est uniquement lue et ne peut pas être exécutée. Pour parler franchement, js ne peut pas appeler le mécanisme et le programme de traitement de téléchargement du navigateur.
2. Solution
1) Vous pouvez utiliser jquery pour créer un formulaire et le soumettre pour le téléchargement du fichier
var form = $("<form>"); form.attr("style","display:none"); form.attr("target",""); form.attr("method","post"); form.attr("action",rootPath + "T_academic_essay/DownloadZipFile.do"); var input1 = $("<input>"); input1.attr("type","hidden"); input1.attr("name","strZipPath"); input1.attr("value",strZipPath); $("body").append(form); form.append(input1); form.submit(); form.remove();
2) Vous peut utiliser directement une balise pour implémenter le téléchargement de fichiers ;
3) Utilisez une iframe cachée ou un nouveau formulaire pour résoudre .
PS : Utilisation de la méthode $.ajax de requête AJAX
Utilisez la méthode $.ajax de jQuery pour contrôler les requêtes AJAX plus en détail. Il exerce un niveau de contrôle précis sur les requêtes AJAX.
Syntaxe de la méthode $.ajax
$.ajax(options) | |
Paramètres |
|
options |
(Objet) Une instance d'un objet dont Les propriétés définissent les paramètres de cette opération. Voir le tableau ci-dessous pour plus de détails. |
Valeur de retour |
Instance XHR |
options valeur de plage détaillée
Nom |
Type |
Description |
url |
Chaîne |
Adresse URL demandée |
type |
string |
HTTP à utiliser. Généralement POST ou GET. En cas d'omission, la valeur par défaut est GET |
data |
object |
Un objet dont les propriétés sont transmises en tant que paramètres de requête à la requête. S'il s'agit d'une requête GET, les données sont transmises en tant que chaîne de requête ; s'il s'agit d'une requête POST, les données sont transmises en tant que corps de la requête. Dans les deux cas, c'est la fonction utilitaire $.ajax() qui gère l'encodage de la valeur |
dataType |
String |
Un mot-clé qui identifie le type de données qui devraient être renvoyées dans la réponse. Cette valeur détermine quel traitement ultérieur (le cas échéant) est effectué avant de transmettre les données à la fonction de rappel . Les valeurs valides sont : xml - le texte de la réponse est analysé dans un document XML et le DOM XML résultant est transmis à la fonction de rappel html - le texte de la réponse est transmis au rappel fonction non traitée. Tous les blocs |