0
我有一個<select multiple />
標籤,該標籤獲得一個數組值。爲什麼我的數組在HTTP POST中變成一個字符串?
當我追加該值我FORMDATA:
var formData = new FormData();
$(icFields).filter(":not(:file)").each(function() {
var input = $(this);
var inputType = $(input).attr("type");
var inputKey = $(input).attr("name");
if(typeof(inputKey) != "undefined" || inputKey == "") {
var keyArr = inputKey.split("-");
if(keyArr[0] != "temp") {
var value = $(input).val();
var encrypted = $(input).data(ENCRYPTION_KEY);
if(encrypted) {
value = CryptoJS.SHA3(value);
}
formData.append(inputKey, value);
}
}
});
我得到的服務器上請求主體是一個字符串。
例如:formData.append("genre", ["0","1","2"]);
在請求我體看到:{ genre: '1,2,3' }
我使用AJAX。我還在ajax調用中設置了contentType: false
和processData: false
。
false contentType保存了什麼樣的內容?假文件? –
如果使用formData [inputKey] = value;而不是'formData.append(inputKey,value);'? – Bellash