时间:2021-05-28
$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>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
我最近在研究angular中通过$location获取路径(参数)的写法,在网上搜索了很多的资料,正好今天有时间,就整理一下!以下获取与修改的URL以(http
本文实例讲述了angular2中Http请求原理与用法。分享给大家供大家参考,具体如下:提供HTTP服务HttpModule并不是Angular的核心模块。它是
一、HTTP模块的作用是什么?Nginx的HTTP模块用于控制Nginx的HTTP进程。二、配置指令1.alias含义:指定location使用的路径,与roo
1、无提示关闭窗口2、防止被人iframeif(top.location!=self.location){top.location.href="http://m
window.location.href=&http:///javascript/ldquo;url”:改变url地址;window.location.repl