汇盛国际注册:Angular的$http与$location

标签:关于我们    日期:2017-12-29 17:21    录入:汇盛国际平台    浏览:

  

[Angular,http,location]Angular的$http与$location

  

$http  

  

但是对于一个web应用,angular是如何同服务端进行交互获得数据的呢?

  

  
  
  var m1 = angular.module('myApp',[]);  m1.controller('Aaa',['$scope','$http',function($scope,$http){  $http({  method : 'GET',  url : 'http/data.php',  }).success(function(data,state,headers,config){  console.log(data,state,headers(),config);  }).error(function(data){  console.log(data);  });  }]);  
  
  

用过JQ的同学一看就知道了,我们重点看看success回调的参数。(别忘了我们需要controller上引入http的模块)  

  

data:後端返回给我们的数据。

  

  

state:http状态码  

  

headers:http头信息  

  

config:ajax的配置信息  

  

我们还可以更简单的来使用get和post。

  

  
  
  //get  $http.get('http/data.php').success(function(data,state,headers,config){  console.log(data);  }).error(function(data){  console.log(data);  });  //post  $http.post('http/data.php',{  name : 'xiecg',  age : 18  }).success(function(data,state,headers,config){  console.log(data);  }).error(function(data){  console.log(data);  });  
  
  

上面都很简单。

  

  

下面我们来看看如何用angular来实现跨域(百度搜索关键词补全)。

  

  
  
  
      
      
  • {{d}}
  •   
  
  var m1 = angular.module('myApp',[]);  m1.controller('Aaa',['$scope','$http','$timeout',function($scope,$http,$timeout){  var timer = null;  $scope.data = [];  $scope.change = function(name){  $timeout.cancel(timer);  timer = $timeout(function(){  $http({  method : 'JSONP',  url : ''+name+'&cb=JSON_CALLBACK',  }).success(function(data,state,headers,config){  console.log(data);  $scope.data = data.s;  }).error(function(data){  console.log(data);  });  },500);  };  }]);  
  
  

我们分别添加了两个事件ng-keyup以及ng-click来传入用户需要搜索的关键词,为了考虑性能我们使用定时器延迟500毫秒执行change方法。

  

  

  

  

$location  

  
  
  var m1 = angular.module('myApp',[]);  m1.controller('Aaa',['$scope','$location',function($scope,$location){  var absUrl = $location.absUrl();  //URL地址  //$location.path('aaa').replace();  //禁止历史管理  var path = $location.path();    //文件路径,路由  //$location.hash('hello');      //设置哈希值  //$location.search({'age' : '19'});  //设置数据  var hash = $location.hash();  var url = $location.url();      //数据  var host = $location.host();    //主机名  var port = $location.port();    //端口号  var protocol = $location.protocol();//协议  console.log(protocol);  }]);  
  
  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

  

★★★小编:汇盛国际注册 整理文章,欢迎大家转载 ★★★