Puis-je ajouter un tableau à 'formdata' en javascript?
Je suis en utilisant FormData de téléchargement de fichiers. Je tiens également à envoyer une série d'autres données.
Lorsque j'envoie juste une image, il fonctionne très bien. Quand j'ai ajouter du texte à la formdata, il fonctionne très bien. Lorsque je tente de joindre le "tags" tableau ci-dessous, tout le reste fonctionne bien, mais aucun tableau n'est envoyé.
Les problèmes connus avec FormData et en ajoutant des tableaux?
Instancier formData:
formdata = new FormData();
Le tableau, j'créer. Console.journal montre que tout fonctionne bien.
//Get the tags
tags = new Array();
$('.tag-form').each(function(i){
article = $(this).find('input[name="article"]').val();
gender = $(this).find('input[name="gender"]').val();
brand = $(this).find('input[name="brand"]').val();
this_tag = new Array();
this_tag.article = article;
this_tag.gender = gender;
this_tag.brand = brand;
tags.push(this_tag);
console.log('This is tags array: ');
console.log(tags);
});
formdata.append('tags', tags);
console.log('This is formdata: ');
console.log(formdata);
Comment je l'envoyer:
//Send to server
$.ajax({
url: "../../build/ajaxes/upload-photo.php",
type: "POST",
data: formdata,
processData: false,
contentType: false,
success: function (response) {
console.log(response);
$.fancybox.close();
}
});
source d'informationauteur Don P
Vous devez vous connecter pour publier un commentaire.
Comment à ce sujet?
... et, en conséquence, à l'aide de
json_decode
sur le serveur pour deparse. Voir, la seconde valeur de FormData.ajouter peut-être...La façon dont je le vois, votre
tags
le tableau contient des objets (@Moussa est le droit, btw; fairethis_tag
un Tableau, puis à assigner des propriétés de la chaîne d', il n'a pas de sens; l'utilisation de la plaine de l'objet au lieu de cela), alors natif de conversion (avectoString()
) ne sera pas assez. JSON qui pratiquent devraient obtenir de l'information à travers, cependant.Au passage, j'aimerais réécrire la propriété attribution de bloc juste en ceci:
L'écriture comme
vous pouvez recevoir comme tableau normal post/get par php.
utilisation
"xxx[]"
que le nom du champ dans formdata (vous obtiendrez un tableau de stringified objets - dans votre cas)dans votre boucle
Fonction:
Utilisation: