Sin usar ningún formulario, ¿puedo simplemente enviar un archivo / archivos desde <input type="file">
a 'upload.php' usando el método POST usando jQuery? La etiqueta de entrada no está dentro de ninguna etiqueta de formulario. Se coloca individualmente. Entonces no quiero usar complementos de jQuery como 'ajaxForm' o 'ajaxSubmit'.
javascript
jquery
html
Elo Peri
fuente
fuente
Respuestas:
Puede utilizar FormData para enviar sus datos mediante una solicitud POST. He aquí un ejemplo sencillo:
No tiene que usar un formulario para realizar una solicitud ajax, siempre que conozca la configuración de su solicitud (como la URL, el método y los datos de parámetros).
fuente
processData: false
ycontentType: false
al objeto de configuración o, de lo contrario, recibirá Uncaught TypeError: Illegal invocationTodas las respuestas aquí siguen usando la API FormData . Es como una
"multipart/form-data"
carga sin formulario. También puede cargar el archivo directamente como contenido dentro del cuerpo de laPOST
solicitud usandoxmlHttpRequest
así:Content-Type
y losContent-Disposition
encabezados se utilizan para explicar lo que estamos enviando (tipo mime y nombre de archivo).Publiqué una respuesta similar también aquí .
fuente
fetch()
?Basándonos en este tutorial , aquí hay una forma muy básica de hacerlo:
No olvide agregar el manejo de errores adecuado
fuente
Paso 1: Cree una página HTML donde colocar el código HTML.
Paso 2: En la parte inferior de la página de código HTML (pie de página), cree Javascript: y coloque el código Jquery en la etiqueta Script.
Paso 3: Crea un archivo PHP y copia el código php. después de Jquery Code in
$.ajax
Code url, aplique cuál en su nombre de archivo php.JS
HTML
Php
fuente
,
aftertype: 'post'
tmp
directorio hasta que se envíe el formulario completo? (digamos que era una forma múltiple)?Prueba este puglin simpleUpload , sin necesidad de formulario
HTML:
Javascript:
fuente
Perdón por ser ese chico pero AngularJS ofrece una solución simple y elegante.
Aquí está el código que uso:
En el lado del servidor, tengo un controlador MVC con una acción que guarda los archivos cargados que se encuentran en la colección Request.Files y devuelve un JsonResult.
Si usa AngularJS, pruebe esto, si no lo hace ... lo siento amigo :-)
fuente