2013-05-19 4 views
0

J'ai une page qui affiche une liste d'éléments dans la base de données et une zone de texte pour ajouter un nouvel élément. Lorsque la page est rendue pour la première fois la liste est affichée correctement dans IE, mais lorsque j'ajoute un nouvel élément, la liste n'est pas mise à jour dans IE 8. Cela fonctionne correctement dans le chrome. Voici mon code:Les liaisons Knockout ne sont pas mises à jour dans IE 8

self.ListOfDepartments.GetListOfAllDepartments = function() { 
    $.getJSON('/Department/ListAllDepartments', function (data) { 
     var mapped = ko.mapping.fromJS(data); 
     self.ListOfDepartments(mapped); 
    }); 
}; 

self.AddDepartmentModel.AddDepartment = function() { 
    self.errors = ko.validation.group(this, { deep: true, observable: false }); 
    if (self.AddDepartmentModel.errors().length == 0) { 
     $.ajax({ 
      url: "/Department/Add/", 
      type: 'post', 
      data: ko.toJSON(self.AddDepartmentModel), 
      contentType: 'application/json', 
      success: function (result) { 
       $('#success').html('Department Added Successfully.'); 
       $("#success").dialog({ 
        dialogClass: 'noclose', 
        autoOpen: true, 
        show: "blind", 
        hide: "explode", 
        modal: true, 
        open: function(event, ui) { 
         setTimeout(function() { 
          $('#success').dialog('close'); 
         }, 3000); 
        } 
       }); 
       Department.DepartmentName(null); 
       Department.DepartmentName.isModified(false); 
       self.ListOfDepartments.GetListOfAllDepartments(); 

      } 
     }); 
    } else { 
     self.AddDepartmentModel.errors.showAllMessages(); 
     return; 
    } 
}; 

HTML:

<div data-bind="foreach: ListOfDepartments()"> 
     <div data-bind="text: DepartmentName" class="margin textStyle"></div> 
    </div> 

Lorsque GetLIstOfAllDepartments est appelé si le complément a réussi la liste de ma page ne met pas à jour dans IE. Y at-il quelque chose de spécial qui doit être fait pour IE?

Répondre

2

Trouvé la solution. IE cache les requêtes ajax il suffit de désactiver la mise en cache:

$.ajaxSetup({ 
    cache: false 
}); 
Questions connexes