2017-06-14 63 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,因爲我沒有更新它,並在後端將其更新爲空刪除我的上一張圖片。如何防止呢? –