BOnjour à tous,
j'utilise actuellement javascript et jquery pour gérer la soumission d'un formulaire en AJAX + JSON et l'affichage asynchrone des résultats avec un websocket.
Le truc c'est qu'en plus des données statiques, je voudrais ajouter l'upload d'un (ou plusieurs?) fichier.
Actuellement, je suis obligé de passer par la soumission "normale" du formulaire. Le problème principal étant que dans certains traitement, je suis obligé de passer par du multiprocess.
C'est un problème car soumettre "normallement" le formulaire recharge la page. Et qui dit "page rechargée" dit "web socket déconnectée". Mais la déconnexion est… asynchrone. Et de même que la reconnexion. Du coup je n'ai aucune garantie que le process de traitement notifiera la nouvelle websocket (en fait il ne le fait presque jamais).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | $(function(){ $("#config-charge").submit(function(e){ var custom = $("#field-custom")[0].checked; if( custom && document.getElementById("corpus_file").files){ return true; } var data = {}; try{ call_ajax(resolve_data(data)); $(".errored-field").each(function(){ $(this).removeClass("errored-field"); }); } catch(Error){ if(data.errors) { $("#error-list").html(''); for(var i=0; i< data.errors.length; i++){ $("#error-list").append($("p").text(data.errors[i].message)); data.errors[i].field.addClass("errored-field"); } } } e.stopPropagation(); return false; }); }); |
gestion de la soumission
Comme mon outil est à destination de personnes qui ont tous (à 100%, c'est dans les specs) javascript activé, les websockets de supportés etc. je voudrais pouvoir envoyer le fichier par javascript.
Il fut un temps où j'avais essayé mais j'avais sans cesse des erreurs en utilisant les objets FormData.
Auriez-vous connaissance d'un moyen simple (ou d'un plugin Jquery) qui permette de répondre à mon besoin? Ou bien d'une autre manière de concevoir le code?