我正在使用 angularjs 开发一个简单的用户管理系统。这是简单的添加、更新和删除应用程序。我在后端使用 spring-mvc 来获取 JSON 响应。在 Firefox、Chrome 和 Safari 中一切正常,但 IE ..!!!!
我有一页列出了所有用户。这是它第一次在 IE9/10 中正常工作,但对任何用户所做的任何更新都不会反映在视图中(使用 IE)。
我无法弄清楚发生了什么。我认为 IE9/10 也会缓存 json 数据,每次调用用户列表页面时,它都会将缓存的数据与页面绑定。
是否可以让 IE9/10 忘记那些加载的数据?
用于访问网络服务的 Angular 模块:
angular.module("user.service", ["ngResource"]).
factory('User', function($resource, $rootScope) {
var User = $resource(
$rootScope.apipath + 'users/:userId', {userId: '@id'},
{update: {method: 'PUT'}}
);
User.prototype.isNew = function() {
return (typeof(this.id) === 'undefined');
};
return User;
});
用户列表控制器:
function UserListController($scope, User) {
$scope.users = User.query();
}
用户列表模板:
<h2><msg key="users"></msg><a class="btn btn-primary pull-right" href="#/users/new"><i class="icon-plus-sign icon-white"></i><msg key="addnew"></msg></a></h2>
<table class="table table-striped">
<tr>
<th><msg key="username"></msg></th>
<th><msg key="name"></msg></th>
<th></th>
</tr>
<tr ng-repeat="user in users">
<td>{{user.userId}}</td>
<td>{{user.contact.firstName}} {{user.contact.lastName}}</td>
<td>
<div class="pull-right">
<a class="btn btn-info" href="#/users/{{user.id}}">
<i class="icon-pencil icon-white"></i><msg key="edit"></msg>
</a>
</div>
</td>
</tr>
</table>