Sem usar nenhum formulário, posso apenas enviar um arquivo / arquivos de <input type="file">
para 'upload.php' usando o método POST usando jQuery. A tag de entrada não está dentro de nenhuma tag de formulário. É individualmente. Portanto, não quero usar plug-ins jQuery como 'ajaxForm' ou 'ajaxSubmit'.
javascript
jquery
html
Elo Peri
fonte
fonte
Respostas:
Você pode usar FormData para enviar seus dados por uma solicitação POST. Aqui está um exemplo simples:
Você não precisa usar um formulário para fazer uma solicitação ajax, contanto que você conheça a configuração da sua solicitação (como url, método e dados de parâmetros).
fonte
processData: false
econtentType: false
ao objeto de configurações ou você receberáTodas as respostas aqui ainda estão usando a API FormData . É como um
"multipart/form-data"
upload sem formulário. Você também pode fazer upload do arquivo diretamente como conteúdo dentro do corpo daPOST
solicitação usandoxmlHttpRequest
desta forma:Content-Type
e osContent-Disposition
cabeçalhos são usados para explicar o que estamos enviando (tipo MIME e nome do arquivo).Eu postei uma resposta semelhante também aqui .
fonte
fetch()
?Com base neste tutorial , aqui está uma maneira muito básica de fazer isso:
Não se esqueça de adicionar tratamento de erros adequado
fonte
Etapa 1: Crie uma página HTML onde colocar o código HTML.
Etapa 2: Na parte inferior da página de código HTML (rodapé) Crie Javascript: e coloque o código Jquery na tag Script.
Passo 3: Crie um arquivo PHP e copie o código php. depois de Jquery Code in
$.ajax
Code url aplique qual deles em seu nome de arquivo php.JS
HTML
Php
fonte
,
depoistype: 'post'
tmp
diretório até que todo o formulário seja enviado? (digamos que fosse um formulário múltiplo)?Experimente este puglin simpleUpload , sem necessidade de formulário
Html:
Javascript:
fonte
Desculpe por ser esse cara, mas o AngularJS oferece uma solução simples e elegante.
Aqui está o código que uso:
No lado do servidor, tenho um controlador MVC com uma ação que salva os arquivos carregados encontrados na coleção Request.Files e retorna um JsonResult.
Se você usa AngularJS, tente fazer isso, se não ... desculpe amigo :-)
fonte