我有Angular应用程序,在用户进行任何操作(添加/删除等)后,控制器会显示一些警报。我如何检查这些请求?当用户在后端创建一些动作时创建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;
})();
答案 0 :(得分:0)
基本上你需要使用$http interceptor
我已在此post中提出了一项实施方案。
答案 1 :(得分:0)
方法$ http.get作为方法$ http.post有两个属性/函数,对你有用: 首先是$ http.get('url')。success(function(){})。error(function(){}) 第二个$ http.get('url')。然后(function(){})。then(function(){})
这两个方法对于post请求都是有效的,除了它们都是promise,这在angularJS中非常有用。第一个给出了成功请求和错误之间的切换案例,第二个可以有两个以上的案例。