AngularJS フレームワークを使用してアプリケーションを作成しています。
問題:
アプリケーションから別のドメインまたはページにジャンプしてから、履歴の戻るボタンを使用してアプリケーションに戻ると、JSON のみが返されます。履歴をさかのぼって閲覧しているアプリからジャンプしたときに同じ状況が発生し、次に進むボタンを使用してアプリに移動すると、再び JSON のみが返されます。アプリ内で戻る/進むは正常に機能しますが、別のドメインに移動した場合にのみ発生します。
何故ですか?アプリに戻る/進むときにサーバーにリクエストが送信されないため、キャッシュに何らかの方法で関連していると思います。
この URL - http://test.deving.cz/admin/prihlasit/にアクセスすると、私が話していることがわかります。次に、戻ってから進みます。
私のセットアップ:
私のアプリは、HTML5 history API を使用するように構成されています。mydomain.com/admin/ で始まる URL の場合、常に angular を含む index.hmtl を返します。次に、アプリ内の他のすべての URL に対して、2 つのリクエストが送信されます。1 つはテンプレート用で、もう 1 つはデータ (JSON) 用です。
例:
$routeProvider.when('/admin/page/', {controller: 'PageListCtrl', templateUrl: '/templates/page/list/', resolve: 'PageListCtrl.resolve'})
PageListCtrl:
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;
}
}
ブラウザーにデータをキャッシュしないように指示し、常に index.html を取得してから angular にリクエストを実行させるには、angular またはアプリをどのように構成する必要がありますか?