web应用通常要与持久化存储通信,以获取和操作数据,angularJs通过XMLHttpRequest(XHR)和JSONP请求与各种后端交流,拥有通用的$http服务以进行XHR和JSONP调用,以及专门的面向RESTful后端接口的$resource服务。
使用$http进行XHR和JSONP请求(Making XHR and JSONP requests with $http)
$http 的 API 提供了强大的XHR 请求调用方法,这些方法有:
- GET:$http.get(url,config).
- POST:$http.post(url,data,config).
- PUT:$http.put(url,data,config).
- DELETE:$http.delete(url,config).
- HEAD:$http.head.
$http调用方法的参数解释:URL:调用目标的URL data:请求体中送出的数据 config:包含额外的配置信息的javascript配置对象,影响请求和响应。
javascript配置对象说明
以下为javascript配置对象的可选项:
- method:使用的HTTP方法
- url:请求的目标URL
- params:URL的参数
- headers:额外的请求头
- timeout:XHR请求终止前的超时时间(毫秒)
- cache:XHR GET请求的缓存开关
- transformRequest、transformResponse:在于后台交换书记前后,对数据进行处理的数据变换函数。
处理HTTP响应
请求可能成功或失败,AngularJS提供两种方法以注册对应这两种结果的回调:success 和 error。他们都接受callback函数,此函数调用如下参数:
- data:实际的响应数据
- status:响应的HTTP状态
- headers:访问的HTTP响应头信息的函数
- config:请求触发时提供的配置对象