从列表中删除实体时,IE9-不会再次从DB读取数据,而是从缓存中提取旧数据。这适用于所有其他浏览器,但不适用于IE浏览器。如何避免这种情况,换句话说如何在此控制器或整个角度应用程序中禁用缓存?
angular.module('rmaClientApp')
.controller('RmaListCtrl', function ($scope, $location, rmaService, rmaStatusSvc, $routeParams) {
$scope.deleteRma = function (rmaId) {
$scope.deletedStatus = $scope.statuses[4];
$scope.rma = rmaService.delete({id: rmaId}, function (data) {
$scope.rmas = rmaService.query();
$location.path('/rma-list');
}, function (err) {
console.log('ERROR in deleting RMA: ' +err);
});
};
编辑:我从JPA Eclipselink中禁用缓存,现在它刷新列表,但是如果我去我的应用程序的其他地方并返回列表,它会再次从缓存中读取列表,并且删除的对象再次出现。它在DB中删除。
EDIT2: AngularJS服务
'use strict';
angular.module('rmaServices', ['ngResource'])
.factory('rmaService', ['$resource',
function ($resource) {
return $resource(
'/RMAServerMav/webresources/com.rako.entity.rma/:id',
{},
{
findRange:{
url: '/RMAServerMav/webresources/com.rako.entity.rma/:from/:to',
method: 'GET',
params: {from: '@from', to: '@to'},
isArray:true}
});
}]);