angularjs之$http

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个属性:

  1. data(字符串或对象):响应体,就是后台返回的数据
  2. status:相应http的状态码,如200
  3. headers(函数):头信息的getter函数,可以接受一个参数,用来获取对应名字的值
  4. config(对象):生成原始请求的完整设置对象
  5. statusText:相应的http状态文本,如"ok"

then写法与success参数是等价的,then方法和success方法的主要区别就是,then方法会接受到完整的响应对象,而success则会对响应对象进行析构。

展开阅读全文

没有更多推荐了,返回首页