J'ai utilisé le plugin jQuery Form pour la soumission asynchrone de formulaires. Pour les formulaires contenant des fichiers, il copie le formulaire dans un iframe caché, le soumet, puis copie à nouveau le contenu de l'iframe. Le problème est que je n'arrive pas à savoir quel code d'état HTTP a été renvoyé par le serveur. Par exemple, si le serveur renvoie 404, les données de l'iframe seront copiées normalement et traitées comme une réponse normale.
J'ai essayé de fouiller dans les objets de l'iframe à la recherche d'un attribut status_code
, mais je n'ai rien trouvé de tel.
La fonction $.ajax()
ne peut pas être utilisée, car elle ne prend pas en charge l'envoi de fichiers. La seule façon que je connaisse pour envoyer des fichiers de manière asynchrone est d'utiliser la méthode de l'iframe caché.