Faire un appel HTTP POST avec multipart / form-data en utilisant jQuery?
Je suis en train de faire un POST HTTP appel avec multipart/form-data , à l'aide de jQuery:
$.ajax({
url: 'http://localhost:8080/dcs/rest',
type: 'POST',
contentType:'multipart/form-data',
data: 'dcs.source=boss-web&query=data&dcs.algorithm=lingo&dcs.output.format=JSON&dcs.clusters.only=true',
//dataType: "jsonP",
success: function(jsonData) {alert('POST alert'); data=jsonData ; },
error : function(XMLHttpRequest, textStatus, errorThrown) {
console.log('An Ajax error was thrown.');
console.log(XMLHttpRequest);
console.log(textStatus);
console.log(errorThrown);
}
});
Il ne fonctionne pas. Firebug renvoie une erreur undefined et le retour des XMLHttpRequst
objet en plusieurs parties champ est défini sur false.
Que puis-je faire pour que cela fonctionne avec jQuery? Et si il n'est pas possible, est-il simple pour y parvenir?
c'est à dire idon pas besoin de transférer les fichiers , juste quelques données. mais le serveur nécessite plusieurs parties.
source d'informationauteur Alex Brooks
Vous devez vous connecter pour publier un commentaire.
multipart/form-data
ne le regardez pas comme ça:C'est
application/x-www-form-urlencoded
.Voici un exemple de la façon dont
multipart/form-data
demande ressemble. Et les RFC 1867.multipart/form-data
est assez souvent associée avec le téléchargement de fichiers. Si c'est votre cas, vous pouvez prendre un coup d'oeil à la jquery forme de plugin qui vous permet de ajaxify formes et prend en charge les téléchargements de fichiers.À l'aide de FormData(), vous pouvez télécharger des fichiers via une requête ajax.
Consulter ce lien pour plus d'info: FormData
Tutoriel sur l'utilisation de FormData: tutoriel
Cette façon fonctionne:
http://www.bennadel.com/blog/1273-Setting-Form-EncType-Dynamically-To-Multipart-Form-Data-In-IE-Internet-Explorer-.htm