angularJs 中的 $http
$http 是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。
POST 与 GET 简写方法格式:
$http.get('/someUrl', config).then(successCallback, errorCallback);
$http.post('/someUrl', data, config).then(successCallback, errorCallback);
$http.get(url) 用于读取服务器数据的函数。
AngularJS1.5 以下版本 - 实例:
var app = angular.module("myApp",[]);
app.controller("myController",function($scope,$http){
$http.get("../brand/findAll").success(function(response){
$scope.list = response;
})
})
$http({
url:url, //请求的url路径
method:method, //GET/DELETE/HEAD/JSONP/POST/PUT
params:params , //转为 ?param1=xx1¶m2=xx2的形式
data: data //包含了将被当做消息体发送给服务器的数据,通常在POST请求时使用
}).success(function(response, status, header, config, statusText){
//成功处理
}).error(function(data,header,config,status){
//错误处理
});
v1.5 中在这里插入代码片
$http 的 success 和 error 方法已废弃。使用 then 方法替代。
AngularJS1.5 以上版本 - 实例:
var app = angular.module('myApp', []);
app.controller('siteCtrl', function($scope, $http) {
$http({
method: 'GET',
url: 'https://www.runoob.com/try/angularjs/data/sites.php'
}).then(function successCallback(response) {
$scope.names = response.data.sites;
}, function errorCallback(response) {
// 请求失败执行代码
});
});
then()函数接收的response(响应对象)包含5个属性:
- data(字符串或对象):响应体,就是后台返回的数据
- status:相应http的状态码,如200
- headers(函数):头信息的getter函数,可以接受一个参数,用来获取对应名字的值
- config(对象):生成原始请求的完整设置对象
- statusText:相应的http状态文本,如"ok"
then写法与success参数是等价的,then方法和success方法的主要区别就是,then方法会接受到完整的响应对象,而success则会对响应对象进行析构。