Ich verwende FormData zum Hochladen von Dateien. Ich möchte auch eine Reihe anderer Daten senden.Kann ich ein Array an 'Formdaten' in Javascript anhängen?
Wenn ich nur das Bild senden, funktioniert es gut. Wenn ich Text an die Formdata angehängt habe, funktioniert es einwandfrei. Wenn ich versuche, das Array "Tags" unten anzuhängen, funktioniert alles andere gut, aber es wird kein Array gesendet.
Alle bekannten Probleme mit FormData und Anfügen von Arrays?
Instantiate Formdata:
formdata = new FormData();
Das Array I erstellen. Console.log zeigt an, dass alles gut funktioniert.
// 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);
Wie ich es senden:
// 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();
}
});
Warum fügen Sie Eigenschaften zu einem Array? Verwenden Sie stattdessen ein Objekt. – Musa
Ich vermute einen PHP-Hintergrund. Arrays funktionieren in Javascript nicht so. – kapa
Das ist es genau :) Ich werde ein Objekt verwenden. –