我從<li>
的列表數據追加到FormData對象有:如何將對象推送到數組並作爲FormData發送?
media_links_array = [];
$('.media_links_ul:first li').each(function() {
var media_type = $(this).attr("data-media_type");
var media_link = $(this).text();
var myObject = {
"media_type": media_type,
"media_link": media_link
}
media_links_array.push(myObject);
});
myFormData.append("media_links", media_links_array);
預期行爲
我預期發送(在Firebug網> POST)爲:
--------------- nnnnnnnnn Content-Disposition: form-data; name="media_links"
{"media_type":media_type,"media_link":media_link}
當前行爲
但它是作爲發送:
--------------- nnnnnnnnn Content-Disposition: form-data; name="media_links"
[object Object],[object Object]
因爲這是應用toString()時發生的情況。 – epascarello
FormData.append需要一個字符串文件或blob作爲第二個參數。你給它一個數組,這是沒有這些東西... https://developer.mozilla.org/en-US/docs/Web/API/FormData –
爲什麼你需要一個formData對象,這只是兩個你想要發送到服務器的字符串,當然有更簡單的方法來做到這一點,如jQuery.ajax? – adeneo