Ohne irgendwelche Formulare zu verwenden, kann ich einfach eine Datei / Dateien von <input type="file">
'upload.php' mit der POST-Methode mit jQuery senden . Das Eingabe-Tag befindet sich nicht in einem Formular-Tag. Es steht individuell. Daher möchte ich keine jQuery-Plugins wie 'ajaxForm' oder 'ajaxSubmit' verwenden.
javascript
jquery
html
Elo Peri
quelle
quelle
Antworten:
Sie können FormData verwenden , um Ihre Daten per POST-Anfrage zu übermitteln. Hier ist ein einfaches Beispiel:
Sie müssen kein Formular verwenden, um eine Ajax-Anfrage zu stellen, solange Sie Ihre Anforderungseinstellung kennen (wie URL-, Methoden- und Parameterdaten).
quelle
processData: false
undcontentType: false
zum Einstellungsobjekt hinzuzufügen , sonst erhalten Sie Uncaught TypeError: Illegal invocationAlle Antworten hier verwenden weiterhin die FormData-API . Es ist wie ein
"multipart/form-data"
Upload ohne Formular. Sie können die Datei auch direkt als Inhalt im Hauptteil derPOST
Anfrage hochladen, indem SiexmlHttpRequest
Folgendes verwenden:Content-Type
undContent-Disposition
Header werden verwendet, um zu erklären, was wir senden (MIME-Typ und Dateiname).Ich habe eine ähnliche Antwort auch hier gepostet .
quelle
fetch()
?Anhand dieses Tutorials finden Sie hier eine sehr grundlegende Möglichkeit, dies zu tun:
Vergessen Sie nicht, die richtige Fehlerbehandlung hinzuzufügen
quelle
Schritt 1: Erstellen Sie eine HTML-Seite, auf der der HTML-Code platziert werden soll.
Schritt 2: Erstellen Sie im unteren Bereich der HTML-Codepage (Fußzeile) Javascript: und fügen Sie den JQuery-Code in das Skript-Tag ein.
Schritt 3: Erstellen Sie eine PHP-Datei und kopieren Sie den PHP-Code. Nach Jquery Code in
$.ajax
Code URL wende welchen auf deinen PHP-Dateinamen an.JS
HTML
Php
quelle
,
Aftertype: 'post'
tmp
Verzeichnis hochladen, bis das gesamte Formular gesendet wurde? (sagen wir, es war eine Multi-Form)?Versuchen Sie dieses puglin simpleUpload , kein Formular erforderlich
Html:
Javascript:
quelle
Tut mir leid, dass ich dieser Typ bin , aber AngularJS bietet eine einfache und elegante Lösung.
Hier ist der Code, den ich benutze:
Auf der Serverseite habe ich einen MVC-Controller mit einer Aktion, die die hochgeladenen Dateien speichert, die in der Request.Files-Auflistung gefunden wurden, und ein JsonResult zurückgibt.
Wenn Sie AngularJS verwenden, probieren Sie dies aus, wenn Sie es nicht tun ... sorry Kumpel :-)
quelle