FormData是一個JavaScript API,可幫助開發人員在瀏覽器中構建表單數據。它是HTML5中新增的API之一。FormData API可以用于將表單中的數據序列化以便用于Ajax請求。jQuery為我們提供了FormData API的接口,使得發送Ajax請求變得更加方便。
使用FormData和jQuery的Ajax功能可以輕松地將表單數據上傳到服務器。需要將表單元素綁定到FormData對象,并將其傳遞到Ajax函數中的data屬性。
$(document).ready(function() { $("#form1").submit(function() { var formData = new FormData($(this)[0]); $.ajax({ url: 'submit.php', type: 'POST', data: formData, async: false, cache: false, contentType: false, processData: false, success: function (returndata) { alert(returndata); } }); return false; }); });
在上面的代碼中,我們在submit()函數中使用FormData來附加表單數據。然后,我們使用Ajax函數將FormData對象上傳到服務器。該代碼將收集文件和文本內容的表單數據,并將其傳遞到submit.php文件以進行處理。
需要注意的是,contentType和processData屬性必須設置為false,否則會出現錯誤。另外,FormData對象不支持用于字符串數據的相應數據類型和屬性設置。如果需要上傳字符串,請使用jQuery的serialize()函數。
綜上所述,FormData API是瀏覽器端構建表單數據最好的方式之一。結合jQuery的強大功能,我們可以輕松地將表單數據上傳到服務器并進行處理。