Forçant “Enregistrer sous” boîte de dialogue via jQuery OBTENIR
Je suis d'appeler un jQuery "OBTENIR" la test.php fichier de code ci-dessous.
Je vais essayer d'obtenir le script de la pop un dialogue "Enregistrer sous" sur le test.fichier ini pour lui permettre d'être enregistré localement. Cependant, même si je peux écho à la suite du retour à la jQuery fine, je n'arrive pas à sauter le dialogue "enregistrer sous".
Mise à jour: Merci pour les solutions ci-dessous, je viens de changer mon $.arriver à une fenêtre.emplacement.remplacer.
$('#test').click(
function()
{
//$.get('<?php echo get_bloginfo('template_directory') ?>/test.php');
window.location.replace("<?php echo get_bloginfo('template_directory') ?>/test.php");
}
);
Je crois que la requête AJAX ne peut jamais apparaître la boîte de dialogue Enregistrer sous. Pourquoi ne pas accéder à cette page au lieu d'une requête AJAX?
OriginalL'auteur Scott B | 2011-07-14
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas obtenir une requête ajax pour afficher un dialogue "Enregistrer sous", mais ce que vous POUVEZ faire est d'insérer une iframe masqué élément dans la page, puis définissez la source de l'iframe à l'url que vous souhaitez que l'utilisateur à télécharger. Voila, il y a votre Enregistrer sous.
Voici un copier-coller de l'exemple:
+1 pour le copier/coller. J'ai juste changer mon $.arriver à une fenêtre.emplacement.remplacer, mais je peut le faire plus tard.
pas de travail pour moi, mon pdf afficher sur l'iframe mais le dialogue "enregistrer sous" n'apparaissent jamais :(.. Juste un test à l'Aide de google chrome...
Télécharger le PDF servi avec un Content-Disposition: attachment-tête? Si non, Chrome va juste rendre au lieu de télécharger le fichier.
Pour moi a été plus facile d'ouvrir une nouvelle fenêtre vierge et de mettre le contenu de la disposition et de résoudre mon problème...
OriginalL'auteur Jimmy Baker
Vous n'avez pas besoin d'AJAX pour cela. Il suffit de naviguer sur le php en question et que php l'utilisation
Ce sera pop-up "enregistrer sous" boîte de dialogue et vous resterez sur la page d'origine.
Eh bien, naturellement, si vous obtenez des erreurs dans le système, le comportement ne sera pas le même que celui que vous attendez. Si vous utilisez iframe méthode proposée par Jimmy et vos erreurs php, à partir de l'utilisateur du point de vue, il ne se passera rien du tout. L'utilisateur clique sur le bouton/lien/etc - et il ne se passe rien - pas non plus la meilleure expérience utilisateur.
N'avez-vous pas juste le downvotes avec pas de commentaires - cinq ans après la réponse!
En voici une pour rattraper cela. Félicitations pour l'attente de votre android insigne d'or.
merci 🙂
OriginalL'auteur Aleks G
Une requête AJAX ne peut pas lancer le téléchargement de fichier boîte de dialogue. Considérer la place de l'ouverture de votre téléchargement de la cible dans une nouvelle fenêtre.
OriginalL'auteur Winfield Trail