gpt4 book ai didi

angularjs,$http 304 错误,修改数据属性

转载 作者:可可西里 更新时间:2023-11-01 16:30:14 27 4
gpt4 key购买 nike

我们正在使用 Ionic 框架和 AngularJS 来创建具有手机间隙构建功能的移动应用程序。我们调用我们的 api 以使用 $http.get 获取项目数组,如果我们已经在缓存中有数据,我们将在 header 中添加一个 Etag。如果服务器上的数据没有改变,我们会得到一个 304 错误,这是正常的。我们无法将响应对象的数据属性从服务器修改为本地存储中的缓存数据。

感谢任何帮助。谢谢

return $http({
method: 'GET',
url: 'http:example.com',
params: params,
headers: customHeader

})
.success(function(data, status, headers, config) {
// do some stuff
})

.error(function(data, status, headers, config) {
if(status == '304') {
alert('this data has not changed');
data = chachedData
// change data to chached data??



}

});

最佳答案

HTTP 304 header 代码表示未修改,这不是错误。根据 HTTP 1.1 的 RFC 2616,服务器只发回 header ,而不是告诉浏览器使用它已经在缓存中的响应的响应。

应该使用它来避免繁重的网络流量。

但在你的情况下,如果你想做一些缓存失效,这不是方法(但我不认为这是你不想做的)

另一方面,angular 将始终将 200 置于状态(即使它是 304)并且您不必为保持数据最新而烦恼,因为您每次都检索更新的值(无需费心如果它来自服务器中的缓存或来自服务器的新数据)。

关于angularjs,$http 304 错误,修改数据属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31598601/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com