我试过这段代码但没有成功
$http({
method:"GET",
url:"data/mycooljsonfile.json",
eventHandlers:{
onprogress:function(event){
console.log("progress");
console.log(event);
},onreadystatechange:function(event){
console.log("change");
console.log(event);
}
},
uploadEventHandlers:{
onprogress:function(object){
console.log(object);
}
}
})
.success(function(json){ // succès
$scope.lemmes=json;
//console.log($http);
}).error(function(error){ // erreur
console.log(error);
});
我在这里查了一下:
https://docs.angularjs.org/api/ng/service/ $ HTTP
然后:
https://www.w3.org/TR/XMLHttpRequest/#events
只是我希望通过大型json文件下载到应用程序的进度条来改进我的代码。
顺便说一句,我找不到记录整个$ http对象函数和支持事件的方法,因为它返回一个信息很少的promise对象。
答案 0 :(得分:7)
请勿使用onprogress
,仅使用progress
,与其他事件相同。我准备plunkr来证明:
$http({
method: "GET",
url: "data.json",
eventHandlers: {
progress: function(event) {
console.log("progress");
console.log(event);
},
readystatechange: function(event) {
console.log("change");
console.log(event);
}
},
uploadEventHandlers: {
progress: function(object) {
console.log(object);
}
}
})
.success(function(json) { // succès
$scope.lemmes = json;
//console.log($http);
}).error(function(error) { // erreur
console.log(error);
});
此外,还有一个已在角度1.5.5中修复的错误,因为它可以从CHANGELOG中看到。更新到1.5.5或更高版本,它将工作。