Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Como faço para enviar um formulário com campos de texto e um de imagem para um arquivo PHP via Ajax?
Eu n consigo pegar o valor do input file, o endereço fica fakepath/nomedaimagem, e no PHP n consigo pegar nenhum valor via $_POST, pois diz que está indefinido.
William, estou tentando enviar uma imagem e um json via Ajax, porém estou encontrando um problema no FormData. Este é o meu código:
html:
<input type="file" name="foto" id='upload'/>
Javascript:
var input = document.querySelector('#upload'), file='';
file = input.files[0];
var image = new FormData();
image.append('file', file);
console.log(image);
Pesquisei sobre o assunto, li sobre a versão do Jquery, mas estou usando a mais recente: 3.2.1, a variável 'image' é exibida assim no console:
/monthly_2017_06/formdataImage.png.0a1ed5d7e85b2c9756d0e5e5065ae9f5.png" />
Quando faço log da variável file, tudo está perfeito:

O que me leva a crer que o FormData não está funcionando como deveria e isso me impede de enviá-lo via Ajax.
Você sabe me dizer o pode estar acontecendo?
Obrigado desde já.Consegui resolver, é necessário usar o form, pelo menos agora que embrulhei em um form funcionou.
Era meio obvio né? Mas, enfim.. haha valeu!
Veja:
http://wbruno.com.br/ajax/upload-de-arquivos-e-dados-com-ajax/