Lesezeit: 1 Minute Elo Peri Ohne irgendwelche Formulare zu verwenden, kann ich einfach eine Datei/Dateien von senden zu '' mit der POST-Methode mit jQuery. Das Input-Tag befindet sich in keinem Formular-Tag. Es steht einzeln. Daher möchte ich keine jQuery-Plugins wie 'ajaxForm' oder 'ajaxSubmit' verwenden. Omid Monshizadeh Sie können verwenden Formulardaten um Ihre Daten per POST-Anfrage zu übermitteln. Hier ist ein einfaches Beispiel: var myFormData = new FormData(); ('pictureFile', [0]); $({ url: '', type: 'POST', processData: false, // important contentType: false, // important dataType: 'json', data: myFormData}); Sie müssen kein Formular verwenden, um eine Ajax-Anfrage zu stellen, solange Sie Ihre Anfrageeinstellung (wie URL, Methode und Parameterdaten) kennen. Verwelken Alle Antworten hier verwenden noch die FormData-API. Es ist wie ein "multipart/form-data" ohne Formular hochladen. Sie können die Datei auch direkt als Inhalt in den Hauptteil der hochladen POST Anfrage mit xmlHttpRequest so was: var xmlHttpRequest = new XMLHttpRequest(); var file =.. handle... var fileName =.. name... var target =.. var mimeType =.. Html formular datei upload data. type... ('POST', target, true); tRequestHeader('Content-Type', mimeType); tRequestHeader('Content-Disposition', 'attachment; filename="' + fileName + '"'); (file); Content-Type und Content-Disposition Kopfzeilen werden verwendet, um zu erklären, was wir senden (Mime-Typ und Dateiname).
Wenn Sie nur bestimmte Dateitypen zulassen wollen, können Sie mit der Angabe accept= die erlaubten Dateitypen eingrenzen ( accept = akzeptieren). Hinter dem Istgleichzeichen können Sie einen Mime-Type angeben. Dabei ist auch das Wildcardzeichen ( *) bei Subtypen erlaubt. Im obigen Beispiel werden mit text/* alle Textdateien akzeptiert. Dazu gehören reine Textdateien ( *), aber z. B. Html formular datei upload.wikimedia.org. auch HTML-Dateien ( *, *). Verlassen Sie sich aber auch bei dieser Angabe nicht darauf, dass der Browser das tatsächlich prüft vor dem Versenden des Formulars. Beachten Sie: Wichtig ist, dass Sie im einleitenden