Angular的$http与$location

发布时间 - 2026-01-10 22:07:44    点击率:

$http

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

<script type="text/javascript">
  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);
    });
  }]);
</script>

用过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来实现跨域(百度搜索关键词补全)。

 <div ng-controller="Aaa">
  <input type="text" ng-model="name" ng-keyup="change(name)">
  <input type="button" ng-click="change(name)" value="搜索">
  <ul>
    <li ng-repeat="d in data">{{d}}</li>
  </ul>
</div>

<script type="text/javascript">
  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 : 'https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd='+name+'&cb=JSON_CALLBACK',
        }).success(function(data,state,headers,config){
          console.log(data);
          $scope.data = data.s;
        }).error(function(data){
          console.log(data);
        });
      },500);
    };
  }]);
</script>

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

$location

<script type="text/javascript">

  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);

  }]);

</script>

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


# Angular  # http  # location  # AngularJS通过$location获取及改变当前页面的URL  # AngularJs Using $location详解及示例代码  # AngularJS内建服务$location及其功能详解  # 高效利用Angular中内置服务$http、$location等  # angular中使用路由和$location切换视图  # 详解angular中通过$location获取路径(参数)的写法  # 关键词  # 还可以  # 给我们  # 都很  # 来看看  # 用过  # 别忘了  # 来实现  # 回调  # 如何用  # 服务端  # 大家多多  # 端口号  # 知道了  # php  # headers  # state  # success  # function  # scope 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JS去除重复并统计数量的实现方法  再谈Python中的字符串与字符编码(推荐)  jQuery validate插件功能与用法详解  深圳网站制作平台,深圳市做网站好的公司有哪些?  微信小程序 input输入框控件详解及实例(多种示例)  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  黑客如何通过漏洞一步步攻陷网站服务器?  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  青岛网站建设如何选择本地服务器?  Swift中swift中的switch 语句  非常酷的网站设计制作软件,酷培ai教育官方网站?  如何快速生成凡客建站的专业级图册?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  网站制作企业,网站的banner和导航栏是指什么?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  高防服务器租用指南:配置选择与快速部署攻略  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  canvas 画布在主流浏览器中的尺寸限制详细介绍  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  百度浏览器如何管理插件 百度浏览器插件管理方法  javascript日期怎么处理_如何格式化输出  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  php485函数参数是什么意思_php485各参数详细说明【介绍】  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  高防服务器租用首荐平台,企业级优惠套餐快速部署  高端智能建站公司优选:品牌定制与SEO优化一站式服务  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  Laravel怎么实现模型属性的自动加密  zabbix利用python脚本发送报警邮件的方法  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  英语简历制作免费网站推荐,如何将简历翻译成英文?  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  教你用AI润色文章,让你的文字表达更专业  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】