Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wevertonvsky

Requisição Ajax Duplicada

Recommended Posts

Olá, eu criei um modal que faz a exclusão de dados. Na primeira execução, ele funciona corretamente, porém na segunda ele faz a requisição ajax duplicada. Esse é o script que criei:

  // Responsável por confirmar e deletar dados via Ajax!
    function requestdel(delid, type) {
        // Requisita o título do item a ser excluído!
        var actionRead = 'readdelete'+type;
        $.ajax({
            url: 'ajax/ajax.php',
            data: {action: actionRead, delid: delid},
            type: 'POST',
            dataType: 'Json',
            beforeSend: function () {

            },
            success: function (updtd) {
                if (updtd.deletecategory) {
                    $('#categorID').html(' <div id="categorID" class="idn" data-id="' + updtd.deletecategory[0] + '"></div>');
                    span = document.getElementById("js_text");
                    txt = document.createTextNode(updtd.deletecategory[1]);
                    span.innerText = txt.textContent;
                } else if (updtd.denied) {
                    $(window.document.location).attr('href', updtd.denied);
                }
            }
        });

      //Executa a exclusão da categoria via Ajax!    
      var actionExe = 'delete'+type;
        $('.j_delete').on('click', '#btn_del', function () {
            var delid = $('.idn').attr('data-id');
            $.ajax({
                url: 'ajax/ajax.php',
                data: {action: actionExe, delid: delid},
                type: 'POST',
                dataType: 'Json',
                beforeSend: function () {
                    $('.j_delete').find(".fa-spinner").removeClass('hide');
                    $('.j_delete').find(".fa-spinner").fadeIn();
                    $('.j_delete').find('.alert').fadeOut(500, function () {
                        $(this).remove();
                    });
                },
                success: function (answer) {

                    if (answer.success) {
                        $('.alert-box').html('<div class="alert alert-success "><i class="icon fa fa-check"></i>' + answer.success + '</div>');
                        $('alert-success').fadeIn();
                        $('#cat' + delid).fadeOut(400, function () {
                            $(this).remove();
                        });
                        $('#catrefresh').load("index.php?exe=posts/create .category_select");
                    } else if (answer.warning) {
                        $('.alert-box').html('<div class="alert alert-warning "><i class="icon fa fa-exclamation-circle"></i>' + answer.warning + '</div>');
                        $('alert-warning').fadeIn();
                    } else if (answer.warning) {
                        $('.alert-box').html('<div class="alert alert-danger "><i class="icon fa fa-ban"></i>' + answer.error + '</div>');
                        $('alert-danger').fadeIn();
                    } else if (answer.denied) {
                        $(window.document.location).attr('href', answer.denied);
                    }

                    $('.j_delete').find('.fa-spinner').fadeOut(500);
                    $('#btn_del').hide(400);
                }
            });
            return false;
        });
    }




    //Requisita via Ajax o título da categoria a ser excluída!
    $(".category_center").on('click', '.act_delete', function () {
        var delid = $(this).attr('rel');
        var type = 'cat';
        requestdel(delid, type);
         console.log($(this));
    }); 

Eu não estou conseguindo achar o erro. Se alguém puder me ajudar.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao fazer o clique ele sempre vai chamar a function requestdel(), com isso sempre vai começar iniciar o primeiro ajax. Você já tentou fazer somente com 1 ajax??? Não tem uma precisão muito grande de fazer com 2 ajax, bom talvez você ache melhor, talvez vc criando uma function fora e depois chamar ela dentro da function principal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por Thiago Duarte
      Oi, gostaria de arrastar imagem e ao soltar formar bloco html, meu bloco de html ficaria com nome, content-1.html, content-2.html, etc
       
      Alguem pode me ajudar?
    • Por belann
      Olá!
       
      Estou fazendo o upload de arquivos com fetch dessa forma
      fetch(url, {
              method: 'POST',
              headers: {'Content-Type': 'multipart/form-data',},
              body: formData 
          }).catch((error) => (console.log("Problemas com o Upload"), error));
       
      estou usando input type=file
      e criando uma const formData = new FormData(); 
      mas não faz e não dá nenhum erro.
      estou fazendo o upload com a url="http://localhost/dashboard/dados".
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.