Организовывать данные после $ .ajax блокирует браузер

Пробуя преобразовывать таблицу, которая покрасила с оказанные $ .ajax не, почему, но в помещении оно функционирует, но поместив на сервере код он оставляет мне блокированному закладку. Данные о $ .ajax прибывают ко мне правильные, но сделав это, покрасив мой html с данными, недостатком

 var listaNIF=[];
    $("#ajax_socios tbody [data-multi != 'false']").each(function(){
        if ($(this).attr("data-multi")==undefined)
          return ;
        var nif=$(this).attr("data-multi");
        if (listaNIF.indexOf(nif)==-1)
          listaNIF.push(nif);
        var contArray = 0;
        // Proceso 1 
        listaNIF.forEach(function(item){
            // empezamos a buscar elementos
            $("#ajax_socios tbody tr[data-multi="+item+"][data-nif!="+item+"]").each(function(){
              var componente = $(this);
              var plantilla = "<tr class='filamulti'><td>&nbsp;</td><td data-socio="+$(componente).attr("data-socio")+" data-nif="+item+" colspan='6'>"+$(componente).attr("data-socio")+" - "+ $(componente).attr("data-nombre")+" - "+$(componente).attr("data-nif")+"&nbsp;&nbsp;<img class='quitaCuenta' src='imagenes/userminus.png' /></td></tr>";
              $("#ajax_socios tbody tr[data-multi="+item+"][data-nif="+item+"]").after(plantilla);
              $(this).remove();
            });
        });// end forEach
        // Proceso 2
        listaNIF.forEach(function(item){
          var elementoFirst = $("#ajax_socios tbody tr[data-multi="+item+"][data-nif="+item+"]:first");
          $("#ajax_socios tbody tr[data-multi="+item+"]").each(function(){
            var componente = $(this);
              if ($(componente).attr("data-socio")!==$(elementoFirst).attr("data-socio")){
                var plantilla = "<tr class='filamulti'><td>&nbsp;</td><td data-socio="+$(componente).attr("data-socio")+" data-nif="+item+" colspan='6'>"+$(componente).attr("data-socio")+" - "+ $(componente).attr("data-nombre")+" - "+$(componente).attr("data-nif")+"&nbsp;&nbsp;<img class='quitaCuenta' src='imagenes/userminus.png' /></td></tr>";
                $(elementoFirst).after(plantilla);
                $(this).remove();
              }
          });
        });
    });// end .each principal

Я не понимаю, способ ли реализовывать процесс или что это.

0
задан 16.01.2017, 17:29
0 ответов

Ну, уже я нашел проблему.

Я не заметил следующую деталь: он поместил процесс forEach моего array внутри .each jQuery, когда он должен был быть снаружи. Видно, что там была сделана неразбериха, он состоял в том, чтобы доставать это вне цикла и уже функционирует правильно.

Код остался бы:

var listaNIF=[];
    $("#ajax_socios tbody [data-multi != 'false']").each(function(){
        if ($(this).attr("data-multi")==undefined)
          return ;
        var nif=$(this).attr("data-multi");
        if (listaNIF.indexOf(nif)==-1)
          listaNIF.push(nif);
    });// end .each principal
// Proceso 1 
            listaNIF.forEach(function(item){
                // empezamos a buscar elementos
                $("#ajax_socios tbody tr[data-multi="+item+"][data-nif!="+item+"]").each(function(){
                  var componente = $(this);
                  var plantilla = "<tr class='filamulti'><td>&nbsp;</td><td data-socio="+$(componente).attr("data-socio")+" data-nif="+item+" colspan='6'>"+$(componente).attr("data-socio")+" - "+ $(componente).attr("data-nombre")+" - "+$(componente).attr("data-nif")+"&nbsp;&nbsp;<img class='quitaCuenta' src='imagenes/userminus.png' /></td></tr>";
                  $("#ajax_socios tbody tr[data-multi="+item+"][data-nif="+item+"]").after(plantilla);
                  $(this).remove();
                });
            });// end forEach
            // Proceso 2
            listaNIF.forEach(function(item){
              var elementoFirst = $("#ajax_socios tbody tr[data-multi="+item+"][data-nif="+item+"]:first");
              $("#ajax_socios tbody tr[data-multi="+item+"]").each(function(){
                var componente = $(this);
                  if ($(componente).attr("data-socio")!==$(elementoFirst).attr("data-socio")){
                    var plantilla = "<tr class='filamulti'><td>&nbsp;</td><td data-socio="+$(componente).attr("data-socio")+" data-nif="+item+" colspan='6'>"+$(componente).attr("data-socio")+" - "+ $(componente).attr("data-nombre")+" - "+$(componente).attr("data-nif")+"&nbsp;&nbsp;<img class='quitaCuenta' src='imagenes/userminus.png' /></td></tr>";
                    $(elementoFirst).after(plantilla);
                    $(this).remove();
                  }
              });
            });

Спасибо!

1
ответ дан 03.12.2019, 17:40
  • 1
    Я рекомендую тебе refactorizar твой có я говорю немного. В нынешнем состоянии он difí cil читать и в будущем será má s difí cil поддержания. Расположи в порядке твой có я говорю в функциях, mó dulos, для того, чтобы ты считал все аккуратным. Planté фруктовый пирог tambié n в будущем, для вещей má s большие, использовать framework frontend. Привет. –  17.01.2017, 14:46
  • 2
    Если @guzgarcia я считаю это разделенным по функциям, só я это поместил có я говорю, что давал мне проблемы, потому что он пытался уже и пытался видеть qué podí чтобы быть. ;) –  18.01.2017, 10:07

Если ты говоришь, что в помещении оно ты функционирует хорошо и ошибка появляется, переслав это, это мог бы быть какой-то параметр сервера, который ясно не позволяет выполнять что-то. Если ты можешь пожалуйста, включи log сервера.

0
ответ дан 03.12.2019, 17:40

Теги

Похожие вопросы