我正在使用 AngularJS 框架创建一个应用程序。
问题:
当我跳出我的应用程序到不同的域或页面时,然后当我使用历史返回按钮返回我的应用程序时,我只返回 JSON。当我跳出我的应用程序浏览历史记录时会发生同样的情况,然后当我使用前进按钮转到我的应用程序时,我再次只得到 JSON。后退/前进在我的应用程序中工作正常,只有当我去不同的域时才会发生。
这是为什么?我认为这与缓存某些方式有关,因为当我返回/转发到我的应用程序时,没有请求发送到服务器。
如果您访问此网址 - http://test.deving.cz/admin/prihlasit/,您会看到我在说什么。然后后退再前进。
我的设置:
我的应用程序配置为使用 HTML5 历史 API。对于以 mydomain.com/admin/ 开头的 url,我总是返回一个包含 angular 的 index.hmtl。然后对于我的应用程序中的每个其他 url,都会发送两个请求。一个用于模板,一个用于数据(JSON)。
例子:
$routeProvider.when('/admin/page/', {controller: 'PageListCtrl', templateUrl: '/templates/page/list/', resolve: 'PageListCtrl.resolve'})
页面列表控件:
angular.module('page').controller('PageListCtrl', ['$scope', 'data', function($scope, data) {
$scope.pages = data;
}]);
解决功能:
resolve = {data:
function($http, $q){
var delay = $q.defer();
$http.get().success(function(data){
delay.resolve(data['data']);
});
return delay.promise;
}
}
我应该如何配置 angular 或我的应用程序来告诉浏览器不要缓存数据并始终获取 index.html 然后让 angular 执行请求?