Heim  >  Artikel  >  Backend-Entwicklung  >  Wie sende ich sowohl Datei- als auch String-Daten mit FormData() und jQuery AJAX?

Wie sende ich sowohl Datei- als auch String-Daten mit FormData() und jQuery AJAX?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-22 14:39:02887Durchsuche

How to Send Both File and String Data with FormData() and jQuery AJAX?

Sowohl Datei- als auch String-Daten mit FormData() und jQuery AJAX veröffentlichen

Oft ist es notwendig, sowohl Datei- als auch Eingabestring-Daten zu senden AJAX-Anfragen. Um dies mit FormData() zu erreichen, befolgen Sie diese Schritte:

  1. Erstellen Sie ein FormData-Objekt:

    <code class="js">var fd = new FormData();</code>
  2. Dateidaten anhängen:
    a. Für eine einzelne Datei:

    <code class="js">fd.append("file", file_data);</code>

    b. Für mehrere Dateien:

    <code class="js">var file_data = $('input[type="file"]')[0].files; // for multiple files
    for(var i = 0;i<file_data.length;i++){
        fd.append("file_"+i, file_data[i]);
    }</code>
  3. String-Daten anhängen:

    <code class="js">var other_data = $('form').serializeArray();
    $.each(other_data,function(key,input){
        fd.append(input.name,input.value);
    });</code>
  4. Daten senden mit AJAX:

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

Durch Befolgen dieser Schritte können Sie sowohl Datei- als auch Eingabezeichenfolgendaten innerhalb desselben FormData-Objekts und derselben AJAX-Anfrage senden.

Das obige ist der detaillierte Inhalt vonWie sende ich sowohl Datei- als auch String-Daten mit FormData() und 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