我需要使用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上的数据是可以的,但任何嵌套的东西都显示为字符串,如下所示
array (size=3)
'Lvl1-1' => string
'Something'
(length=23)
'Lvl1-2' => string
''Something'' (length=3)
'Lvl1-3' => string
'[object Object]' (length=17)
如果我使用FormData()来编码Lvl1-3中的数据,而不是[object Object]我得到[object FormData]
如何在Lvl1-3上获取数组而不是字符串?
注意:如果文件位于顶层(Lvl_1),我可以使用FormData()发送文件没有问题.我没有编写附加文件的代码,因为这不是问题,嵌套数据是.我刚才提到了这个文件,因为这就是我使用FormData()的原因.