Maison > interface Web > js tutoriel > le corps du texte

Analyse et solutions aux causes d'échec de l'opération de téléchargement de fichier de requête Jquery Ajax

亚连
Libérer: 2018-05-24 14:55:29
original
2263 Les gens l'ont consulté

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 se concentre sur l'introduction du téléchargement de fichiers de requête Jquery Ajax. et des solutions aux causes de l'échec des opérations. Les amis qui sont intéressés par l'analyse des causes de l'échec des requêtes ajax devraient apprendre ensemble

jQuery est en effet un très bon framework JS léger qui peut nous aider à développer rapidement une application JS, et dans une certaine mesure, cela a changé 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();
Copier après la connexion

2) Vous peut utiliser directement une balise pour implémenter le téléchargement de fichiers ;

Cliquez pour télécharger

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)

$.ajax(options)

参数

options

(对象)一个对象的实例,其属性定义这个操作的参数。详情见下表。

返回值

XHR实例

Paramètres<🎜>

options<🎜>(object) 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

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, l'encodage de la valeur est géré par la fonction utilitaire $.ajax()

dataType

String

Un mot clé pour identifier le attendu Le type de données qui seront renvoyées dans la réponse. Cette valeur détermine quel traitement ultérieur (le cas échéant) est effectué avant que les données ne soient transmises à 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

Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal