使用 AngularJS 从 Apache2 服务器获取最新的 Json
Getting latest Json from Apache2 server with AngularJS
我的 jsons 服务器上有一些 apache2,我在 中获取数据controllers,通常没有问题。
有时当我更新 json 时,我的应用程序似乎没有获取最新数据。我发现它是由浏览器的缓存引起的,当我清理它时,我的应用程序看到了最新的数据并且我的作品完美无缺。
我找到了 a similar problem 但解决方案似乎不适合我的情况。
我的控制器:
myApp.controller("myController", ["$scope", "$http",
function($scope,$http){
$http.get('http://localhost/myjson.json').success(function(data){
$scope.data=data;
console.log(data);
)}
}]);
在我的 html 中,我通常会这样做:
<div class="example-class">{{data.justATest}}</div>
我在问自己:
- 有什么方法可以一直获取最新的数据吗?(如果有,AngularJS中的方法是什么?)
- 我的问题是不是浏览器缓存引起的?(如果是,如何解决和避免?)
提前致谢。
我用@TechM9iac 的回答解决了这个 。
正如他所说:解决方案是将表示时间戳或会话 ID 的查询字符串添加到您的文件中。
所以我总是能够通过在我的 $http.get 中添加 ?r=<%= session.getId()% 来获得新鲜的 json () 调用,如:
myApp.controller("myController", ["$scope", "$http",
function($scope,$http){
$http.get('http://localhost/myjson.json
?r=<%= session.getId()%').success(function(data){
$scope.data=data;
console.log(data);
)}
}]);
所以,要回答我的问题,这肯定是浏览器的缓存错误,解决它的方法是将表示时间戳或会话 ID 的查询字符串添加到我的文件中,以便始终强制浏览器获取最新数据。
我的 jsons 服务器上有一些 apache2,我在 中获取数据controllers,通常没有问题。 有时当我更新 json 时,我的应用程序似乎没有获取最新数据。我发现它是由浏览器的缓存引起的,当我清理它时,我的应用程序看到了最新的数据并且我的作品完美无缺。 我找到了 a similar problem 但解决方案似乎不适合我的情况。
我的控制器:
myApp.controller("myController", ["$scope", "$http",
function($scope,$http){
$http.get('http://localhost/myjson.json').success(function(data){
$scope.data=data;
console.log(data);
)}
}]);
在我的 html 中,我通常会这样做:
<div class="example-class">{{data.justATest}}</div>
我在问自己:
- 有什么方法可以一直获取最新的数据吗?(如果有,AngularJS中的方法是什么?)
- 我的问题是不是浏览器缓存引起的?(如果是,如何解决和避免?)
提前致谢。
我用@TechM9iac 的回答解决了这个
正如他所说:解决方案是将表示时间戳或会话 ID 的查询字符串添加到您的文件中。
所以我总是能够通过在我的 $http.get 中添加 ?r=<%= session.getId()% 来获得新鲜的 json () 调用,如:
myApp.controller("myController", ["$scope", "$http",
function($scope,$http){
$http.get('http://localhost/myjson.json
?r=<%= session.getId()%').success(function(data){
$scope.data=data;
console.log(data);
)}
}]);
所以,要回答我的问题,这肯定是浏览器的缓存错误,解决它的方法是将表示时间戳或会话 ID 的查询字符串添加到我的文件中,以便始终强制浏览器获取最新数据。