2016-10-31 5 views
2

Ich habe eine Webseite mit zahlreichen Steuerelementen. Einige von ihnen sind "Datei" -Steuerelemente, die ich zum Hochladen von Bildern verwenden. Ich benutze JQuery Ajax-Aufruf images.I zum Hochladen haben den Code laden Bilder aus dem Internet selbst unterjquery ajax call -submitting einige Formulardaten

$.ajax({ 
    url: "upload.php", 
    type: "POST", 
    data: new FormData(this),<<------Submitting all the form data 
    mimeType: "multipart/form-data", 
    cache: false, 
    success: function(data){ 
    $("#gallery").html(data); 
    }, 
    error: function(){}    
}); 

Wie Sie im obigen Code-Schnipsel, die gesamte sehen kann lange Zeit back.The Code geben bekam Formulardaten sind POSTED.Now nehme an, ich poste nicht die gesamten Daten des Formulars, sondern wähle nur Daten von der say ersten Dateisteuerung 'file_1'.Wie soll ich darüber gehen ?? Was soll ich oben mit markiert schreiben ein Pfeil. Hoffe du verstehst meine Frage.

Antwort

1

Sie können ein neues FormData Objekt erstellen und verwenden seine append() Methode, um nur die Daten hinzufügen, die Sie benötigen:

var fd = new FormData(); 
fd.append('foo', $('#bar').val()); 

$.ajax({ 
    url: 'upload.php', 
    data: fd, 
    // ... 
}); 

Weiterhin FormData Lesen verfügbar bei MDN

+0

Dank @Rory für deine Antwort, kann aber Sie sagen, was Sie in obigem schreiben müssen, wenn ich die Daten einreichen möchte, die in einem Dateisteuerelement file_1 – msm

+0

enthalten sind. Es ist in der Dokumentation, die ich verknüpfte: 'formData.append ('userpic', myFileInput.files [0], 'chris .jpg '); ' –

+0

Jetzt ist es klar für mich. Vielen Dank – msm