Posso usar o seguinte código jQuery para realizar o upload de ficheiros usando o método POST de um pedido ajax ?
$.ajax({
type: "POST",
timeout: 50000,
url: url,
data: dataString,
success: function (data) {
alert('success');
return false;
}
});
Se for possível, preciso de preencher a parte "dados"? É a forma correcta? Eu só POSTO o arquivo para o lado do servidor.
Tenho andado a pesquisar no Google, mas o que encontrei foi um plugin enquanto no meu plano não o quero usar. Pelo menos por enquanto.
o upload do arquivo é not possível através do ajax.
Você pode fazer upload de arquivo, sem atualizar a página, usando IFrame.
você pode verificar mais detalhes aqui.
UPDATE:
Com XHR2, o upload de arquivos através do AJAX é suportado. Por exemplo, através do objeto FormData, mas infelizmente ele não é suportado por todos/velhos navegadores.
O suporte a FormData começa a partir das versões seguintes dos navegadores de desktop. IE 10+, Firefox 4.0+, Cromado 7+, Safari 5+, Ópera 12+
Para mais detalhes, consulte link MDN.
Um upload AJAX é de fato possível com XMLHttpRequest(). Não é necessário iframes. O progresso do Upload pode ser mostrado.
Para mais detalhes, veja: Responda https://stackoverflow.com/a/4943774/873282 à pergunta https://stackoverflow.com/questions/4856917/jquery-upload-progress-and-ajax-file-upload.
Mais detalhes no meu post de blog: http://blog.manki.in/2011/08/ajax-fie-upload.html.