关于另一个ajax成功的Ajax在ie中不起作用

时间:2012-03-12 06:27:59

标签: javascript ajax internet-explorer jquery

我做一个ajax调用来获取所有元素的列表,比如Products,并在带有复选框的表中填充它们。然后我再做一个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 个答案:

答案 0 :(得分:1)

这是由于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]);
                          });
                      }
                  });
              }
            });

如果您需要更多详细信息,请查看 this

答案 1 :(得分:0)

这段代码总是让我搞砸的事情是试图选中复选框。确保obj[0].checked = true确实有效。