Sans utiliser aucun formulaire, puis-je simplement envoyer un fichier / fichiers de <input type="file">
vers 'upload.php' en utilisant la méthode POST en utilisant jQuery. La balise d'entrée ne se trouve dans aucune balise de formulaire. Il se tient individuellement. Je ne veux donc pas utiliser de plugins jQuery comme 'ajaxForm' ou 'ajaxSubmit'.
javascript
jquery
html
Elo Peri
la source
la source
Réponses:
Vous pouvez utiliser FormData pour soumettre vos données par une requête POST. Voici un exemple simple:
Vous n'avez pas besoin d'utiliser un formulaire pour faire une requête ajax, tant que vous connaissez le paramètre de votre requête (comme les données d'url, de méthode et de paramètres).
la source
processData: false
etcontentType: false
à l'objet de paramètres, sinon vous recevrez Uncaught TypeError: Illegal invocationToutes les réponses ici utilisent toujours l' API FormData . C'est comme un
"multipart/form-data"
téléchargement sans formulaire. Vous pouvez également télécharger le fichier directement en tant que contenu dans le corps de laPOST
demande en utilisantxmlHttpRequest
comme ceci:Content-Type
et les en-Content-Disposition
têtes sont utilisés pour expliquer ce que nous envoyons (type mime et nom de fichier).J'ai posté une réponse similaire également ici .
la source
fetch()
?Sur la base de ce didacticiel , voici une façon très basique de le faire:
N'oubliez pas d'ajouter une gestion des erreurs appropriée
la source
Étape 1: Créez une page HTML où placer le code HTML.
Étape 2: Dans le bas de la page de code HTML (pied de page), créez Javascript: et placez le code Jquery dans la balise Script.
Étape 3: Créez un fichier PHP et copiez le code php. après Jquery Code dans l'
$.ajax
URL du code, appliquez lequel sur votre nom de fichier PHP.JS
HTML
Php
la source
,
aprèstype: 'post'
tmp
répertoire jusqu'à ce que le formulaire entier soit soumis? (disons que c'était un multi-forme)?Essayez cette puglin simpleUpload , aucune forme de besoin
Html:
Javascript:
la source
Désolé d'être ce type, mais AngularJS offre une solution simple et élégante.
Voici le code que j'utilise:
Du côté du serveur, j'ai un contrôleur MVC avec une action qui enregistre les fichiers téléchargés trouvés dans la collection Request.Files et renvoie un JsonResult.
Si vous utilisez AngularJS, essayez ceci, si vous ne le faites pas ... désolé mon pote :-)
la source