2017-02-06 44 views
0

我已经创建了一个应用程序,上传图片。但问题是我发送的数据对象永远不会等于formData。因为我根据需要修改(格式化)数据对象以发送到服务器。没有formData的图片上传

<input type="file" name="imageUrl" id="photoFile"> 

喜欢的东西,

var data = { 
name: '', 
attributes: [{}, {}] 
} 

为了这一点,我想添加一个待上传图片。 如果我使用表单数据,它会是这样的。

var data = { 
name: '', 
attribute1: {}, 
attribute2: {} 
} 

所以,我格式化为要求,我尝试了一整天。但一无所获。请帮帮我。

+0

你好,重新格式化您的代码粘贴更多的东西,我们可以用:) – mnemosdev

+0

后端侧的工作 - 无论你的平台是 - 有明确的接受文件数据的格式,我认为你不能重新格式化它,并期望它能正常工作。对不起,如果我误解了你。 –

回答

0

使用Jquery窗体可以上传文件和操作表单数据。使用以下语法:

$('#form_id').ajaxForm({ 
       beforeSerialize: function($form, options){ 
        // do the data manipulations here and send it to options["data"] 
        options["data"] = processed_data; 
        }, 
       dataType: 'json', 
       success: function(data){ 
        //success functional logic. 
        } 
       }); 

更多jQuery的形式http://malsup.com/jquery/form/