Ajax при успехе другого Ajax не работает, т.е. - PullRequest
0 голосов
/ 12 марта 2012

Я делаю вызов ajax, чтобы получить список всех элементов, скажем «Продукты», и заполнить их в таблице флажками. Затем я делаю еще один вызов ajax, чтобы узнать, какие продукты уже выбраны, и выбрать их. Это работает во всех браузерах, кроме ie. Я что-то не так делаю?

$.ajax({
                url : "${product_category_url}",
                data : {"orgID":"${globalOrganisation.id}"},
                dataType : "html",
                statusCode: {
                    401: function() {
                        $('.ui-tabs-panel:visible').html("${ajax_session_expired}");
                    }
              },
              success : function(data) {
                  $("#productCategoryContainer").html(data);
                  $.ajax({
                      url: "${get_taggedProd_url}",
                      data: {"questionnaireId":_questionnaireId},
                      dataType: "json",
                      success: function(data){
                          var productIds = data.products;
                          $.each(productIds,function(index,value){
                             var obj = $('input[name="'+value+'"]');
                             obj[0].checked = true
                             selectRow(obj[0]);
                          });
                      }
                  });
              }
            });

Ответы [ 2 ]

1 голос
/ 12 марта 2012

Это связано с кэшированием IE.

Пожалуйста, попробуйте это

$.ajax({
                url : "${product_category_url}",
                data : {"orgID":"${globalOrganisation.id}"},
                dataType : "html",
                statusCode: {
                    401: function() {
                        $('.ui-tabs-panel:visible').html("${ajax_session_expired}");
                    }
              },
              success : function(data) {
                  $("#productCategoryContainer").html(data);
                    $.ajaxSetup ({
    // Disable caching of AJAX responses
    cache: false
});

                  $.ajax({
                      url: "${get_taggedProd_url}",
                      data: {"questionnaireId":_questionnaireId},
                      dataType: "json",
                      success: function(data){
                          var productIds = data.products;
                          $.each(productIds,function(index,value){
                             var obj = $('input[name="'+value+'"]');
                             obj[0].checked = true
                             selectRow(obj[0]);
                          });
                      }
                  });
              }
            });

, и если вам нужна дополнительная информация, пожалуйста, посмотрите это

0 голосов
/ 12 марта 2012

То, что в этом коде меня всегда портит, пытается установить флажок. Убедитесь, что obj[0].checked = true действительно работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...