2017-06-14 69 views
0

我在我的页面中使用了一个元素,它包含一系列输入字段,如first_name,last_name,profile_pic等,并基于用户输入,我使用POST调用将此数据保存在后端。我使用下面的行获得所有这些形式的数据:如何处理类型为“文件”的输入?

fd = new FormData(mentorForm[0]); 

,然后我简单地发送使用下面的代码这种形式的数据:

$.ajax({ 
       url: "my url", 
       type: "PUT", 
       data: fd, 
      }) 

我能够更新个人档案相片和其他所有领域,而不任何问题。 但我面临一个问题,每次我更新表单中的任何值(而不是输入文件类型字段)时,它会为输入类型文件发送空值,因为我没有在其中选择任何值。有人可以帮助我理解如何预防这种情况吗?

回答

1

每个默认的AJAX调用都会处理您的数据。因此,为了防止以下两个属性添加到请求:

contentType: false, 
processData: false, 

所以,你的AJAX调用看起来那么像这样:

$.ajax({ 
    url: "my url", 
    type: "PUT", 
    data: fd, 
    contentType: false, 
    processData: false, 
}); 
+0

没错,添加,但如何能够帮助我,防止我的问题。每当我说我更新first_name时,与请求一起提交的有效内容将“input = file”的值设为null,因为我没有更新它,并在后端将其更新为空删除我的上一张图片。如何防止呢? –