Sto creando un'applicazione utilizzando il framework AngularJS.AngularJS - cache del browser dati JSON
Il problema:
Quando ho saltare fuori della mia candidatura a un dominio diverso o una pagina e poi quando uso storia di nuovo il tasto per tornare al mio app, torno solo JSON. La stessa situazione accade quando salto indietro dalla mia app tornando indietro nella cronologia, e poi quando uso il pulsante avanti per andare alla mia app, di nuovo ho di nuovo solo JSON. Indietro/avanti funziona bene nella mia app, succede solo quando vado in un dominio diverso.
Perché è quello? Penso che sia legato al caching di alcuni come, perché quando faccio il back/forward alla mia app, nessuna richiesta viene inviata al server.
Puoi vedere di cosa sto parlando se vai a questo URL - http://test.deving.cz/admin/prihlasit/. Quindi torna indietro e poi avanti.
La mia configurazione:
La mia app è configurato per utilizzare HTML5 storia API. Per un URL che avvia mydomain.com/admin/, restituisco sempre un index.hmtl contenente angolare. Quindi per ogni altro url nella mia app vengono inviate due richieste. Uno per il modello e uno per i dati (il JSON).
Esempio:
$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;
}]);
funzione Resolve:
resolve = {data:
function($http, $q){
var delay = $q.defer();
$http.get().success(function(data){
delay.resolve(data['data']);
});
return delay.promise;
}
}
Come devo configurare angolare o la mia app per dire al browser di non memorizzare nella cache il dati e per ottenere sempre l'index.html e quindi lasciare l'angola r fare le richieste?
provare ad aggiungere datetime.now() per url templateUrl: '/partials/indexpage.html?id=' + new Date(). getTime() –
@Ajaybeniwal questo interromperà la cache dei template, vero? Tuttavia, ho bisogno che smetta di memorizzare i dati nella cache. La funzionalità di memorizzazione nella cache del modello è desiderata nella mia app. – davekr
potresti condividere il codice del controller o risolvere il codice in cui stai recuperando il json. –