web-dev-qa-db-ja.com

FormData vs .serialize()、違いは何ですか?

最近、AJAXを使用してフォームを送信しました。

最良の方法を研究する中で、いくつかのAJAX .serialize()を使用した送信とFormDataを使用した送信を確認しました。

ある提出はこれをしました:

data: form.serialize()

もう一方は:

var formData = new FormData($('form')[0]);
data: formData

FormData.serialize()の違いは何ですか?

33
L84

使用上の観点との主な違いは、ファイルをシリアル化することはできず、ファイル名だけをシリアル化できないことです。..ファイル入力のvalue

一方、FormDataオブジェクトには、必要に応じてファイルも含まれます。

また、serialize()は、たとえばIE <10

参照 FormData docs

34
charlietfl

もう1つの重要な違いは、フォーム内の空の入力フィールドの処理です。

シリアライズ()
FormData
1