请详细描述AngularJS的$http服务如何使用XMLHttpRequest对象,并在其事件中添加功能。
AngularJS中的$http服务使用XMLHttpRequest对象来与服务器进行通信。 $http服务监听XMLHttpRequest对象的readystatechange事件,以实现对请求状态的追踪。在readystatechange事件被触发时,$http服务将检查XMLHttpRequest对象的readyState属性以确定请求的当前状态,并相应地处理响应的数据。同时,$http服务还通过XMLHttpRequest对象的onload、onerror和ontimeout事件来处理请求的成功、失败和超时等情况,以便进行错误处理或重新提交请求。因此,使用AngularJS中的$http服务时,可以方便地在XMLHttpRequest对象的事件处理程序中实现需要的功能。