Heim  >  Artikel  >  Backend-Entwicklung  >  Wie sende ich FormData- und String-Daten gleichzeitig in JQuery AJAX?

Wie sende ich FormData- und String-Daten gleichzeitig in JQuery AJAX?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-22 14:20:03958Durchsuche

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

Gleichzeitiges Senden von FormData und String-Daten in JQuery AJAX

Bei der Arbeit mit Formularen, die Datei-Uploads beinhalten, ist es notwendig, Dateidaten mit zusätzlichen zu kombinieren Zeichenfolgendaten zur Übermittlung an den Server. So erreichen Sie dies mit FormData() in JQuery AJAX:

Erstellen der FormData mit Datei- und String-Daten:

<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>

Senden der Daten mit AJAX:

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

Erklärung:

  • serializeArray(): Diese Methode ruft die Formulardaten als Array ab von Objekten, was eine bessere Kontrolle über den Namen und den Wert jeder Eingabe ermöglicht.
  • contentType: false und processData: false: Diese Einstellungen deaktivieren die Standarddatenverarbeitung von JQuery und ermöglichen das Senden der rohen FormData der Server.
  • 'submit.php': Ersetzen Sie dies durch die URL des serverseitigen Skripts, das die Datei- und Zeichenfolgendaten verarbeitet.

Serverseitige Überlegungen:

Um die Datei- und Zeichenfolgendaten auf dem Server abzurufen, können Sie den folgenden Code verwenden:

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

// Other data
print_r($_POST);</code>

Das obige ist der detaillierte Inhalt vonWie sende ich FormData- und String-Daten gleichzeitig in JQuery AJAX?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn