Tôi đang tạo một ứng dụng bằng cách sử dụng khung công tác AngularJS.AngularJS - bộ nhớ đệm trình duyệt dữ liệu JSON
Vấn đề:
Khi tôi nhảy ra khỏi ứng dụng của tôi đến một tên miền khác hoặc một trang và sau đó khi tôi sử dụng lịch sử trở lại nút để trở lại ứng dụng của tôi, tôi nhận được lại chỉ JSON. Tình huống tương tự xảy ra khi tôi nhảy ra khỏi ứng dụng của tôi duyệt lại trong lịch sử, và sau đó khi tôi sử dụng nút chuyển tiếp để đi đến ứng dụng của tôi, một lần nữa tôi chỉ nhận được JSON trở lại. Quay lại/chuyển tiếp hoạt động tốt trong ứng dụng của tôi, nó chỉ xảy ra khi tôi đi đến miền khác nhau.
Tại sao lại như vậy? Tôi nghĩ rằng nó có liên quan đến bộ nhớ đệm một số như thế nào, bởi vì khi tôi quay trở lại/chuyển tiếp đến ứng dụng của tôi, không có yêu cầu được gửi đến máy chủ.
Bạn có thể xem nội dung tôi đang nói đến nếu bạn truy cập url này - http://test.deving.cz/admin/prihlasit/. Sau đó quay trở lại và sau đó chuyển tiếp.
Thiết lập của tôi:
Ứng dụng của tôi được định cấu hình để sử dụng API lịch sử HTML5. Đối với một url bắt đầu mydomain.com/admin/ tôi luôn trả về một index.hmtl chứa angular. Sau đó, đối với mọi url khác trong ứng dụng của tôi, hai yêu cầu sẽ được gửi đi. Một cho mẫu và một cho dữ liệu (JSON).
Ví dụ:
$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;
}]);
chức năng Giải quyết:
resolve = {data:
function($http, $q){
var delay = $q.defer();
$http.get().success(function(data){
delay.resolve(data['data']);
});
return delay.promise;
}
}
Làm thế nào tôi nên cấu hình góc cạnh hoặc ứng dụng của tôi để cho trình duyệt không để bộ nhớ cache dữ liệu và luôn nhận được index.html và sau đó cho phép angula r làm các yêu cầu?
thử thêm datetime.now() đến url templateUrl: '/partials/indexpage.html?id=' + new Date(). getTime() –
@Ajaybeniwal điều này sẽ ngừng lưu bộ nhớ đệm các mẫu, tôi có đúng không? Tuy nhiên, tôi cần nó để ngăn chặn bộ nhớ đệm dữ liệu. Chức năng bộ đệm mẫu là mong muốn trong ứng dụng của tôi. – davekr
bạn có thể chia sẻ mã điều khiển hoặc giải mã ở nơi bạn đang tìm nạp json hay không. –