Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde!
Estou tentando passar o valor de uma campo input do tipo file para o php via ajax da seguinte forma
html
<form id="frm_cad_prod" name="form_produtos" class="frm_cad" method="post" enctype="multipart/form-data">
<label>
<input type="file" name="arquivo" id="arquivo" />
</label>
</form>
jQuery
$( function(){
$( '.submit' ).on( 'click', function( e ){
e.preventDefault();
var formulario_serialize = $( this ).parents( 'form' ).serialize();
var id_formulario = $( this ).parents( 'form' ).attr( 'id' );
// Enviar imagem para cadastro de produtos e anúncios
var name = document.getElementById( 'arquivo' );
var alpha = name.files[ 0 ];
var data = new FormData( alpha );
//data.append( 'file', alpha );
console.log( data );
if( id_formulario == 'frm_cad_prod' )formulario_serialize = formulario_serialize + '&arquivo=' + data;
}
$.ajax({
type: 'post',
url: 'modulos/cadastros/index.php',
data: formulario_serialize,
processData:false,
contentType:false,
dataType: 'json',
beforeSend: function(){
$( '#'+ id_formulario + ' button' ).html( 'Enviando...' );
},
success: function( resposta ){
if( resposta.sucesso )window.location.pathname = window.location.pathname;
}$.each( resposta, function(){
var separa = resposta.erros.split( '+' );
var ret_txt = separa[0];
var ret_campo = separa[1];
var campo = $( '#' + ret_campo );
if( ret_campo == 'duplicou' )$( '.erros' ).fadeIn( 'slow' ).html( '<span>' + ret_txt + '</span>' );
}
if( resposta.erros )$( campo ).focus().css( 'border', '1px solid #f00' );
$( campo ).blur(function(){$( this ).css( 'border', '1px solid #ccc' );
}
});
}
});
}
},
complete: function(){
$( '#'+ id_formulario + ' button' ).html( 'Enviar' );
}
});
});
});
php
if( $action == 'send_cad_prod' )
{
$imagem = $_POST[ 'arquivo' ];
...
O retorno do json é action=send_cad_prod&modelo=Teste&fabricante=38&categoria=15&subcategoria=3&subcategoria2=0&subcategoria3=0&descricao=&arquivo=[object FormData]
Nunca tentei dessa forma antes. Eu recupero esse valor [object FormData] ou está indo errado ?
Carregando comentários...