如何处理类型为“file”的输入?

时间:2017-06-14 10:35:38

标签: html html5 input

我在我的页面中使用了一个元素,其中包含一些输入字段,如first_name,last_name,profile_pic等,并且基于用户输入,我使用POST调用将此数据保存在后端。我使用以下行获取所有这些表单数据:

fd = new FormData(mentorForm[0]);

然后我只是使用以下代码发送此表单数据:

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

我可以毫无问题地更新个人资料照片和所有其他字段。 但是我遇到的问题是,每次我更新表单中的任何值(而不是输入文件类型字段)时,它会为输入类型文件发送null,因为我没有在其中选择任何内容。有人可以帮我理解如何预防吗?

1 个答案:

答案 0 :(得分:1)

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

contentType: false,
processData: false,

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

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