首頁  >  文章  >  後端開發  >  如何在JQuery AJAX中同時傳送FormData和字串資料?

如何在JQuery AJAX中同時傳送FormData和字串資料?

Patricia Arquette
Patricia Arquette原創
2024-10-22 14:20:03958瀏覽

How to Send FormData and String Data Simultaneously in JQuery AJAX?

在JQuery AJAX 中同時發送FormData 和字串資料

在處理涉及文件上傳的表單時,需要將文件資料與附加資料結合起來用於提交到伺服器的字串資料。以下是如何在JQuery AJAX 中使用FormData() 來實現此目的:

使用檔案和字串資料建立FormData:

<code class="javascript">// Create a new FormData object
var fd = new FormData();

// Append file data
for (var i = 0; i < file_data.length; i++) {
  fd.append("file_" + i, file_data[i]);
}

// Append other string data using serializeArray()
var other_data = $('form').serializeArray();
$.each(other_data, function (key, input) {
  fd.append(input.name, input.value);
});</code>

使用提交資料AJAX:

<code class="javascript">$.ajax({
  url: 'submit.php',
  data: fd,
  contentType: false,
  processData: false,
  type: 'POST',
  success: function (data) {
    console.log(data);
  },
});</code>

說明:

  • serializeArray()
  • serializeArray():此方法以數組形式檢索單表資料物件的名稱和值,從而更好地控制每個輸入的名稱和值。
  • contentType: false 和 processData: false:這些設定會停用 JQuery 的預設資料處理並允許將原始 FormData 傳送到伺服器。
'submit.php'

:將其替換為將處理檔案和字串資料的伺服器端腳本的 URL。

伺服器端注意事項:

<code class="php">// Files
print_r($_FILES);

// Other data
print_r($_POST);</code>
要擷取伺服器上的檔案和字串數據,可以使用以下程式碼:

以上是如何在JQuery AJAX中同時傳送FormData和字串資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn