Heim  >  Artikel  >  Backend-Entwicklung  >  Wie übertrage ich gleichzeitig FormData- und String-Daten mit JQuery AJAX?

Wie übertrage ich gleichzeitig FormData- und String-Daten mit JQuery AJAX?

Susan Sarandon
Susan SarandonOriginal
2024-10-22 14:27:02585Durchsuche

How to Simultaneously Transmit FormData and String Data Using JQuery AJAX?

Gleichzeitige Übertragung von FormData- und String-Daten mit JQuery AJAX

Um sowohl Datei- als auch String-Daten mit FormData() zu senden, sollten Sie den folgenden Ansatz in Betracht ziehen :

Erstellen Sie ein neues FormData-Objekt:

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

Bei mehreren Dateien rufen Sie die ausgewählten Dateien aus der Dateieingabe ab:

<code class="javascript">var file_data = $('input[type="file"]')[0].files;</code>

Durchlaufen Sie die Dateien und hängen Sie sie an Fügen Sie sie den FormData hinzu, indem Sie für jede Datei einen eindeutigen Namen verwenden:

<code class="javascript">for(var i = 0;i<file_data.length;i++){
    fd.append("file_"+i, file_data[i]);
}</code>

Als nächstes rufen Sie die Nicht-Datei-Eingabedaten mit jQuerys .serializeArray() ab:

<code class="javascript">var other_data = $('form').serializeArray();</code>

Iterieren Sie durch die Nicht-Datei -File-Eingabedaten und hängen Sie sie mit .append() an die FormData an:

<code class="javascript">$.each(other_data,function(key,input){
    fd.append(input.name,input.value);
});</code>

Konfigurieren Sie abschließend die AJAX-Anfrage mit den FormData als Datennutzlast:

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

Folgendes Mit diesen Schritten können Sie effektiv sowohl Datei- als auch Zeichenfolgendaten gleichzeitig über FormData und JQuery AJAX senden und so sicherstellen, dass alle erforderlichen Informationen an den Server übertragen werden.

Das obige ist der detaillierte Inhalt vonWie übertrage ich gleichzeitig FormData- und String-Daten mit 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