wie zu tun, Datei-upload mit jquery-Serialisierung
Also ich habe ein form, und ich bin dem Absenden des Formulars durch ajax mit jquery Serialisierung Funktion
serialized = $(Forms).serialize();
$.ajax({
type : "POST",
cache : false,
url : "blah",
data : serialized,
success: function(data) {
}
aber was dann, wenn das Formular ein <input type="file">
Feld....wie gebe ich die Datei in der form mit diesem ajax-Serialisierung Methode...drucken $_FILES nichts ausgibt
InformationsquelleAutor kamikaze_pilot | 2010-12-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine Datei kann nicht hochgeladen werden, die mit AJAX, weil Sie keinen Zugriff auf den Inhalt einer Datei auf dem Clientcomputer gespeichert und senden Sie es in der Anfrage mit javascript. Eine der Techniken, um dies zu erreichen ist die Verwendung von versteckten iframes. Es gibt eine schöne jquery form plugin, die Ihnen erlaubt zu AJAXify Ihre Formen und es unterstützt Datei-uploads als gut. So, mit diesem plugin kann der code einfach wie folgt Aussehen:
Das plugin kümmert sich automatisch um die Anmeldung auf der
submit
- Ereignis des Formulars, das Abbrechen der Standard-Vorlage, mit der Serialisierung der Werte, mit der richtigen Methode und behandeln von Datei-upload-Felder, ...das ist natürlich wahr, wenn der von Ihnen verwendete browser unterstützt die HTML5-Datei-API. Haben Sie versucht, diese im IE, wie einfach es ist? Bis HTML5 zum standard wird und von allen Browsern unterstützt, es werden plugins, weil du keine Dateien hochladen mittels AJAX.
Sind Sie richtig. Ich bin glücklich genug, um in einer Entwicklungsumgebung nicht unterstützt IE, so dass ich vergaß, ihn zu prüfen. Ja, ohne HTML5-Kompatibilität, diese Funktion wird nicht funktionieren. Nach caniuse.com/xhr2, nur IE 10+ unterstützt diese Funktion bisher.
jQuery Form Plugin ist toll!
Nicht mehr wahr!!
InformationsquelleAutor Darin Dimitrov
Können Sie jetzt hochladen von Dateien mit Ajax!
Beispiele:
https://stackoverflow.com/a/8758614/1072492
http://net.tutsplus.com/tutorials/javascript-ajax/uploading-files-with-ajax/
InformationsquelleAutor Dan
Es funktioniert für jede Art von form
InformationsquelleAutor Shaiful Islam
Es funktionierte für mich! setzen Sie einfach processData und contentType Falsch.
InformationsquelleAutor Maryam Zakani
Können Sie Dateien hochladen per AJAX mithilfe des FormData-Methode. Obwohl IE7,8 und 9 nicht unterstützen FormData-Funktionalität.
Ja, dies würde in der Regel werden die Formular-id
für mich funktioniert es nur mit dem Dokument.Formen.form anstelle von 'form' - string, übergeben, das FormData-Konstruktor
InformationsquelleAutor Rossco
HTML
JavaScript
PHP
InformationsquelleAutor Renish Patel
Durch die Verwendung von
new FormData()
und EinstellungprocessData: false, contentType:false
im ajax-call Einreichung von Formular mit Datei-Eingabe für mich gearbeitetMit obigen code bin ich in der Lage zum senden von Formulardaten mit Datei-Feld auch durch Ajax
InformationsquelleAutor Banothu Ramesh Naik
HTML5 bietet
FormData
Klasse, die verwendet werden können, um den Datei-upload mit ajax.FormData-support beginnt ab der folgenden desktop-Browser-Versionen. IE 10+, Firefox 4.0+, Chrome 7+, Safari 5+, Opera 12+
https://developer.mozilla.org/en/docs/Web/API/FormData/FormData
InformationsquelleAutor Rahul Patel
hmmmm ich denke, es ist viel effizienter Weg, um es speziell für die Menschen wollen, um Ziel, alle browser und nicht nur FormData unterstützten browser
die Idee versteckt haben IFRAME auf der Seite und eine normale reichen für die Aus dem inneren IFrame-Beispiel
wichtigste um ein Ziel der form der versteckten iframe ID oder Namen
und enctype multipart/form-data zu ermöglichen, die Annahme von Fotos
javascript Seite
server-Seite, Z.B. PHP
InformationsquelleAutor Jehad Ahmad Jaghoub