Instead of the ajax command being on the page, it is being directed to php page

Asked

Viewed 31 times

1

   $('#formCadastrarProdutos').submit(function() {
        $.ajax({
        url: '../crud/cadastro_produtos.php',
        type: 'post',
        data:  new FormData(this),            
        cache: false,
        contentType: false,
        processData: false,
        success: function(data){
            if(data == "erronome"){
               $('.erronome').html('Produto já cadastrado.');
            }else{
                alert('Produto cadastrado com sucesso!');
                window.location.reload();
            }
        }        
        });
    });

1 answer

1


Cancel the event submit with preventDefault():

//                  inclua o parâmetro na função que retorna o evento
//                                          ↓
$('#formCadastrarProdutos').submit(function(e) {

    e.preventDefault(); // cancela o evento

    $.ajax({
    url: '../crud/cadastro_produtos.php',
    type: 'post',
    data:  new FormData(this),            
    cache: false,
    contentType: false,
    processData: false,
    success: function(data){
        if(data == "erronome"){
           $('.erronome').html('Produto já cadastrado.');
        }else{
            alert('Produto cadastrado com sucesso!');
            window.location.reload();
        }
    }        
    });
});

Also note that on this line...

window.location.reload();

...the page is being reloaded. If this is not the intention, simply remove it.

Browser other questions tagged

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