我有一个<select multiple />
标记,它是一个数组值。
当我将该值附加到我的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
。
答案 0 :(得分:0)
看起来我用来解析请求主体的中间件在它的“body-parser”中有一个错误。
我把它改成了“multer”库,一切都很好。