Suggestions pour télécharger l'image à l'aide de jQuery ajax
J'ai un formulaire qui dispose de 3 entrées:
[1] champ de saisie de texte pour une mise à jour de statut
[2] upload de fichier (une image)
[3] champ de saisie de texte pour attacher un lien
L'utilisateur bascule entre chacun d'entre eux en fonction de ce qu'ils veulent faire. Par exemple lors du choix [2], les entrées [1] et [3] sont cachés.
Toutes ces entrées sont contenus dans un seul formulaire avec id posts_form
. Les Options [1] et [3] post via Ajax pour les différents contrôleurs.
Mon problème est maintenant avec l'option [2] parce qu'il n'est pas possible de télécharger des images à l'aide de jQuery ajax.
Quelques solutions que j'ai vu impliquer l'utilisation de jQuery Forme de plugin, mais je me demande si il serait possible de faire le téléchargement de l'image sans l'utilisation d'un plugin.
Par exemple ce serait la base de code pour le téléchargement qui bien sûr ne fonctionne pas.
$.ajax({
url: 'chat/upload/' + <?php echo $page_id; ?>,
type: 'POST',
data: $('#posts_form').serialize(),
dataType: 'html',
beforeSend: function(){
$('#loading').show();
},
success: function(html) {
$('#attach').replaceWith(html);
$('#loading').hide();
$('#posts_form input').val('');
$('.posts_link').val('');
$('#chat_input').hide();
}
});
Toutes les suggestions sur ce qui pourrait être ajouté /modifié afin de permettre le téléchargement d'images à l'aide de jQuery uniquement, sans les plugins?
Grâce.
Vous devez vous connecter pour publier un commentaire.
Votre meilleur choix est de ce plugin. Vous perdez votre temps à essayer de faire sans cette.
http://jquery.malsup.com/form/
Il n'y a pas de façon simple de télécharger un fichier via AJAX. C'est une limitation dans le HTML4. Des solutions à l'aide d'un iframe ou Flash.
En HTML5, un Fichier API est introduit pour résoudre ce problème. Voici une démo de tirer parti de l'API (à l'aide d'un Firefox 3.6+), ce qui vous permet de glisser-déposer une image à charger sans l'envoi vers le serveur: http://html5demos.com/file-api. Il prend également en charge plusieurs fichiers: http://demos.hacks.mozilla.org/openweb/DnD/.
Vous pouvez lire sur ce cahier des charges sur W3.org, si vous êtes désireux.
Si vous ne peut pas compter sur les clients à avoir les navigateurs supportant le HTML5 est le Fichier API, vous pouvez vous rouler propre ou choisissez d'utiliser une bibliothèque qui implémente l'iframe solution de contournement:
input type=submit
-- voir ici pour la nouvelle question que j'ai posté -- je vais aussi vérifier vos autres solutions