我正在使用FormData上傳文件。我也想發送其他數據的數組。我可以在javascript中追加一個數組到'formdata'嗎?
當我發送圖像時,它工作正常。當我將一些文本附加到formdata時,它工作正常。當我嘗試附加下面的'標籤'數組時,一切正常,但沒有數組發送。
FormData和追加數組的任何已知問題?
實例化FORMDATA:
formdata = new FormData();
創建的陣列。 Console.log顯示一切正常。
// 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);
我如何把它:
// 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();
}
});
爲什麼要添加屬性到一個數組?改爲使用對象。 – Musa
我懷疑PHP的背景。在Javascript中,數組並不像這樣工作。 – kapa
就是這樣:)我將使用一個對象。 –