jQuery Ajax Bestand Uploaden

Kan ik de volgende jQuery code gebruiken om het uploaden van bestanden uit te voeren met behulp van POST-methode van een ajax-verzoek?

$.ajax({
    type: "POST",
    timeout: 50000,
    url: url,
    data: dataString,
    success: function (data) {
        alert('success');
        return false;
    }
});

Als het mogelijk is, moet ik dan data gedeelte invullen? Is het de juiste manier? Ik POST alleen het bestand naar de server kant.

Ik heb wat rond zitten googlen, maar wat ik vond was een plugin terwijl ik die in mijn plan niet wil gebruiken. Voorlopig althans.

Oplossing

file upload is not possible through ajax. U kunt een bestand uploaden, zonder de pagina te verversen door gebruik te maken van een IFrame. U kunt verdere details controleren hier

UPDATE:

Met XHR2, Bestand uploaden via AJAX wordt ondersteund. B.v. via FormData object, maar helaas wordt dit niet door alle/oude browsers ondersteund.

FormData ondersteuning begint vanaf de volgende desktop browsers versies. IE 10+, Firefox 4.0+, Chrome 7+, Safari 5+, Opera 12+

Voor meer details, zie MDN link

Commentaren (9)

Een AJAX upload is inderdaad mogelijk met XMLHttpRequest(). Geen iframes nodig. Upload vooruitgang kan worden getoond.

Voor details zie: Antwoord https://stackoverflow.com/a/4943774/873282 op vraag https://stackoverflow.com/questions/4856917/jquery-upload-progress-and-ajax-file-upload.

Commentaren (1)
  • Gebruik een verborgen iframe en stel het doel van uw formulier in op de naam van dat iframe's. Op deze manier, wanneer het formulier wordt ingediend, zal alleen het iframe worden ververst.
  • Laat een event handler registreren voor de load event van de iframe's om het antwoord te parsen.

Meer details op mijn blog post: http://blog.manki.in/2011/08/ajax-fie-upload.html.

Commentaren (2)