您有一個使用 jQuery 序列化功能透過 Ajax 提交的表單。但是,當表單包含 時,您會遇到問題。場地。序列化的表單資料不包含文件,列印 $_FILES 會導致空結果。
要解決此問題,您可以使用 FormData 物件。它與任何表單類型相容,包括帶有文件輸入的表單類型。以下是如何實現它:
$(document).on("submit", "form", function(event) { event.preventDefault(); $.ajax({ url: $(this).attr("action"), type: $(this).attr("method"), dataType: "JSON", data: new FormData(this), processData: false, contentType: false, success: function (data, status) { }, error: function (xhr, desc, err) { } }); });
透過使用 FormData 對象,您可以在 Ajax 請求中將文件與其他表單資料一起傳遞。 processData 和 contentType 選項設定為 false 以防止 jQuery 處理資料和內容類型,並允許瀏覽器正確處理表單提交。
以上是如何使用 jQuery Ajax 提交檔案上傳表單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!