Error while receiving $_FILES['photos'] data via ajax

Asked

Viewed 24 times

0

Error when receiving $_FILES['photos'], already the post with the other data I can get it normally... I believe it is something in ajax that is giving conflict.

$("#formulario_novo_produto").on('submit',(function(e) {
    e.preventDefault();
    //var formulario = $(this);
    var botao = $('#salvar');
    var mensagem = $('#msg_cadastra_produto');
    //botao.button('loading');

    var titulo = $('input[name="titulo"]').val();
    var categoria = $('select[name="categoria"]').val();
    var Marca = $('select[name="Marca"]').val();
    var Modelo = $('input[name="Modelo"]').val();
    var quantidade = $('input[name="Quantidade"]').val();
    var valorCusto = $('input[name="valorCusto"]').val();
    var Fornecedor = $('select[name="Fornecedor"]').val();
    var Cor = $('input[name="Cor"]').val();
    var valorVenda = $('input[name="valorVenda"]').val();
    var valorPromocional = $('input[name="valorPromocional"]').val();
    var descricao = CKEDITOR.instances["descricao"].getData();
    var photos = $('input[name="photos[]"]').val(); 
    var Data = $('input[name="Data"]').val();       


    $.ajax({
        url: "ajax/cadastra_produto.php",
        type: "POST",
        data : {
            titulo: titulo, 
            categoria: categoria, 
            Marca: Marca, 
            Modelo: Modelo, 
            quantidade: quantidade,
            valorCusto: valorCusto,
            Fornecedor: Fornecedor,
            Cor: Cor,
            valorVenda: valorVenda,
            valorPromocional: valorPromocional,
            descricao: descricao,
            photos: photos,
            Data: Data  
        },
        dataType: 'html',
        success: function (response) 
        {
            // Se cadastrado com sucesso
            if (response == "OK") 
            {
                // Definindo estilo da mensagem (sucesso)
                mensagem.attr('class', 'alert alert-success');
                mensagem.html('Cadastro efetuado com sucesso');
                // Limpando formulário
                formulario.resetForm();

                //recarrega a pagina
                setTimeout(function() {
                    window.location.reload(1);
                }, 1550);
            }
                else {
                    // Definindo estilo da mensagem (erro)
                    mensagem.attr('class', 'alert alert-danger');
                    mensagem.html(response);
                }

                // Escondendo indicador de carregamento
                botao.button('reset');
        },

        // Se houver algum erro na requisição
        error: function () 
        {
            // Definindo estilo da mensagem (erro)
            mensagem.attr('class', 'alert alert-danger');

            // Exibindo mensagem
            mensagem.html('Ops, algum erro foi encontrado!!!');

            // Escondendo indicador de carregamento
            botao.button('reset');
        }

    });

    // Retorna FALSE para que o formulário não seja enviado de forma convencional
    return false;

}));

form

<form  method="post" id="formulario_novo_produto" enctype="multipart/form-data" action="ajax/cadastra_produto.php" style="clear:both"> 
<!--- aqui fica os inputs ---> 
</form>
  • the tag form as is?

  • <form method="post" id="formulary_new product" enctype="Multipart/form-data" action="ajax/cadastra_product.php" style="clear:Both"> @Leocaracciolo

  • tries to remove '[]' from $('input[name="photos[]"])

  • I removed @Willian but it hasn’t worked yet... I checked the console.lo(photos) and returned the address of the image correctly, I believe the problem is inside the ajax tag, must something missing

  • 1

    then take a look at https://answall.com/questions/264956/comorpasso-enctype-multipart-form-datapelo-post

  • thanks brother, solved my problem this link... as much as I researched hj earlier kkk

Show 1 more comment
No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.