Мне нужно отправить некоторые данные с помощью ajax и FormData, потому что я хочу отправить файл и некоторые другие параметры. Обычно я отправляю данные:
$.ajax({
type: 'POST',
url: 'some_url',
dataType: 'json',
processData:false,
contentType:false,
data:{
Lvl_1-1: 'something',
Lvl_1-2: 'something',
Lvl_1-3: {
Lvl_1-3-1: "something",
Lvl_1-3-2: "something",
Lvl_1-3-3: "something",
},
},
...
});
Если я не использую FormData(), у меня нет проблем, но при использовании FormData() только данные на Lvl1 в порядке, но что-то вложенное отображается как строка, подобная этой
<b>array</b> <i>(size=3)</i>
'Lvl1-1' <font color='#888a85'>=></font> <small>string</small>
<font color='#cc0000'>'Something'</font>
<i>(length=23)</i>
'Lvl1-2' <font color='#888a85'>=></font> <small>string</small>
<font color='#cc0000'>''Something''</font> <i>(length=3)</i>
'Lvl1-3' <font color='#888a85'>=></font> <small>string</small>
<font color='#cc0000'>'[object Object]'</font> <i>(length=17)</i>
Если я использую FormData() для кодирования данных внутри Lvl1-3 вместо [object Object]
, я получаю [object FormData]
Как мне получить массив вместо строки на Lvl1-3?
ПРИМЕЧАНИЕ. Если файл находится на верхнем уровне (Lvl_1), я могу отправить файл без проблем с помощью FormData(). Я не написал код прикрепленного файла, потому что это не проблема, вложенные данные. Я просто упомянул файл, потому что потому, что я использую FormData().