AngularJS提供了对Promise机制的支持,主要通过内置的$q服务实现。promise对象具有then、catch、finally三个方法,每个方法返回一个promise对象。这为链式调用提供了支撑。
在AngularJS应用中,主要通过XHR和JSONP两种方式向服务器端发送HTTP请求。
XHR:利用浏览器内置的XMLHTTPRequest对象向服务器发送AJAX请求你;
JSONP:可以绕过浏览器的安全限制,从不同域请求数据的方法。原理是利用script标签的src属性发起get请求;
AngularJS与web应用服务器交互的操作都封装在$http服务中。$http服务的调用会返回一个promise对象。我们可以调用promise对象的success方法处理成功的请求。调用error方法处理失败的请求。
promise对象的success和error方法接收一个方法作为参数。
promise.success(function(data,status,headers,config,statusText){});
$http服务提供了几个便捷的方法,当需要发起get请求时,可以直接调用$http.get(url)方法;当需要发起post请求时,调用$http.post(url,data)方法;当通过JSONP请求时,可以调用$http.jsonp();