Angularjs的rest get方法在启用了.appcache的情况下无法工作
angularjs rest get method not working with .appcache enabled
我正在使用一个angular应用程序,它正在消耗rest服务,我需要一个.appcache
文件来离线工作。
当我把这个头文件放到UI中时:
<html lang="" ng-app="labsisApp">
在控制器中有这样的代码:
$http.get('http://localhost:2700/users')
.success(function(data){
$scope.users = data;
})
.error(function(data, status, headers, config) {
$scope.onLine = false;
});
工作!,但当appcache启用时:
<html lang="" manifest="labsis.appcache" ng-app="labsisApp">
Get请求不工作,尽管有这个appache文件:
CACHE MANIFEST
CACHE:
index.html
styles/main.css
scripts/application.js
scripts/angular.min.js
scripts/angular-route.min.js
scripts/lodash.min.js
scripts/restangular.min.js
scripts/main.js
所有重要的文件都在appcachefile中。这个问题只在我启用apache时出现,而angular出现了问题。POST方法工作,但是GET方法不工作
url /users
未在您的缓存清单中列出。使用缓存清单文件,客户端将永远不会向服务器请求数据。它总是会在缓存中查找。如果它找不到,它就会失败。
有(至少)两种方法来解决这个问题。一种是在缓存清单中添加NETWORK
部分:
NETWORK:
/users
这将允许客户端在线时请求该url,但如果离线请求将失败。使用此解决方案,每当您对NETWORK
部分中列出的资源进行请求时,您必须首先检查您是在线还是离线,并且如果您离线,则做一些不同的事情(例如,从localStorage加载数据)。
另一个解决方案是将/users
添加到CACHE:
部分。
相关文章:
- 如何在未直接触发的情况下停止事件
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 在不阻止默认行为的情况下检测IE10中的缩放
- 如何在不传递此信息的情况下查找被调用的元素
- 如何在不刷新页面的情况下更新显示框
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 在我的情况下,如何进行http请求
- 在不知道深度或父属性的情况下从对象中删除属性
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- ROR:如何在不重新加载浏览器的情况下从控制器获取参数
- 如何在不影响其他元素的情况下扩展DIV
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- 在不移动内部文本的情况下缩放元素的效果
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 默认情况下折叠和展开嵌套列表
- 如何在不单击javascript中的按钮的情况下触发事件
- Angularjs的rest get方法在启用了.appcache的情况下无法工作