2017-06-14 6 views
0

私は、first_name、last_name、profile_picなどの入力フィールドの束からなるページ内の要素を使用しています。ユーザー入力に基づいて、POST呼び出しを使用してこのデータをバックエンドに保存します。私は次の行使用して、すべてこの形式のデータを取得しています:typeが "file"の入力を扱うにはどうすればよいですか?

fd = new FormData(mentorForm[0]); 

をして、私は単純に次のコードを使用して、このフォームデータを送信しています:私はせずに、プロファイルPICおよび他のすべてのフィールドを更新することができる午前

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

を何の問題。 しかし、私は、フォームの中の値を更新するたびに(入力ファイルタイプフィールドではなく)、入力タイプファイルに対して何も選択していないのでnullを送信するという問題に直面しています。誰かがそれを防ぐ方法を理解するのを助けることができますか?

答えて

1

すべてのデフォルトのAJAX呼び出しによってデータが処理されます。

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

うんは、追加それは私が私の問題を防止するのに役立つん方法:

contentType: false, processData: false, 

は、だからあなたのAJAX呼び出しは次のように、その後になります。だから、要求に次の2つの属性を追加しないようにします。 first_nameを更新すると、要求と一緒に送られたペイロードは、 "input = file"の値をnullとして取り込み、バックエンドで更新していないので、前の画像を削除します。それを防ぐ方法は? –

関連する問題