我有角度应用程序与控制器,显示一些警报后,用户作出任何行动(添加/删除等)。如何检查此类请求?当用户进行一些操作时,后台创建json数组。我必须在用户提出请求后才显示警报。它是一个单页面应用程序,所有的操作都不需要重新加载页面。
我找到了这样的脚本here,它可以工作,但是有可能用AngularJS API来做吗?
(function() {
'use strict';
var oldXHR, stateChangeHandler, prop;
oldXHR = window.XMLHttpRequest;
stateChangeHandler = function (evt) {
switch (this.readyState) {
case oldXHR.OPENED:
console.log('Request was made', this, evt);
break;
case oldXHR.DONE:
console.log('Request finished', this, evt);
break;
}
};
function newXHR() {
var xhr = new oldXHR();
xhr.addEventListener('readystatechange', stateChangeHandler);
return xhr;
}
// Copy original states and toString
for (prop in oldXHR)
newXHR[prop] = oldXHR[prop];
window.XMLHttpRequest = newXHR;
})();
发布于 2014-04-16 10:20:50
基本上,您需要使用$http interceptor
我已经在这个post中提出了一个实现。
发布于 2014-04-16 10:52:30
作为方法$http.get的$http.post有两个可能对您有用的属性/函数:第一个是$http.get('url').success(function(){}).error(function(){}),第二个是$http.get('url').then(function(){}).then(function(){})
这两种方法对于get和post请求都是有效的,只是它们都是一个promise,这在angularJS中非常有用。第一个给你一个在成功请求和错误之间切换的案例,第二个可以有两个以上的案例。
https://stackoverflow.com/questions/23105946
复制