当我的页面启动时,setDataOnPage2执行并正常工作.我能够将数据导入$ scope.records以将其呈现给页面.
$scope.setDataOnPage2 = function () {
$http({
method: 'get',
url: GetSchedule,
params: {
date: $scope.currentDate
}
}).success(function (results) {
console.log(JSON.stringify(results));
$scope.records = results;
});
}
$scope.setDataOnPage2();
Run Code Online (Sandbox Code Playgroud)
我的问题是当我使用ng-click从按钮点击此功能.当我单击按钮时,我在JSON演示文稿中看到结果,因为console.log(JSON.stringify(results)),但它是旧数据.
当我打开我的电脑上的表格它工作正常,然后我去我的手机更新数据很好,但当我点击执行setDataOnPage2的刷新按钮时,它在控制台中显示JSON,但不显示更新我在电话上做了,直到刷新页面.我不确定为什么我的http调用缓存了我的数据.
我甚至在后面的代码中放置一个断点,http get应该执行,但它只在页面刷新时执行,而不是在我单击执行setDataOnPage2的刷新按钮时执行.
奇怪的是,json出现在控制台中,但数据没有刷新,也没有达到断点.
关于为什么会发生这种情况的任何想法?
这可能是浏览器上的缓存问题.浏览器可能会缓存get请求.要避免此问题,只需在时间戳附加请求网址即可.
GetSchedule+"&random="+new Date().getTime()
Run Code Online (Sandbox Code Playgroud)
如果你已经有查询参数,否则使用
GetSchedule+"?random="+new Date().getTime()
Run Code Online (Sandbox Code Playgroud)
或者您也可以添加标题以避免缓存
headers: {
'Cache-Control': 'no-cache',
'Pragma':'no-cache'
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1750 次 |
| 最近记录: |