Je souhaite effectuer une requête GET asynchrone qui renvoie un document avec un type de contenu MIME et l'amène à afficher la boîte de dialogue 'Enregistrer' du navigateur .
Auparavant, je fabriquais un HTTP régulier (non-async) appeler par un lien et la réponse renvoyée avait un 'Content-Type' et 'Content-Disposition' comme ceci:
Content-Type: text/plain
Content-Disposition: attachment;
filename=genome.jpeg;
modification-date="Wed, 12 Feb 1997 16:29:51 -0500";
Est il existe un moyen de convertir cela en requête $ .ajax() GET de jQuery? La méthode $ .ajax ne prend en charge que les types de données, "xml", "html", "script", "json", "jsonp" et "text". Est-ce que mon type de données de réponse tomberait dans l'une de ces catégories?
Ma demande ressemble à ceci:
$.ajax({url: myUrl,
data: params,
type: "GET",
success: function(data)
{
console.log("try to save this file!");
},
error: function(req, status, errThrown){
alert("ERROR: Something happened");
}
Dans le rappel de « succès », je vois le contenu du fichier transmis en arrière dans la variable « données » comme un texte simple mais besoin de la « sauver » boîte de dialogue pour obtenir lancé sur le navigateur.
Le serveur renvoie la réponse avec le jeu d'en-têtes correct.
@Pointy, pouvez-vous s'il vous plaît me montrer un exemple alors? Autant que je sache, l'objet XMLHttpRequest sur lequel ajax fonctionne ne lancera pas une boîte de dialogue de sauvegarde même si les en-têtes le demandent. –
vous avez raison; Je ne sais pas ce que je pensais – Pointy