angularJs中$http获取后台数据的实例讲解


Posted in Javascript onAugust 08, 2018

1.html

<div ng-app="module" ng-controller="ctrl">
 <table border="1" width="600">
  <tr>
   <td>网站名称</td>
   <td>网址</td>
  </tr>
  <tr ng-repeat="v in data">
   <td>{{v.name}}</td>
   <td>{{v.url}}</td>
  </tr>
 </table>
</div>
<script>
 var m = angular.module('module', []);
 //注入http服务
 m.controller('ctrl', ['$scope', '$http', function ($scope, $http) {
  $http({
   method:'get', //get请求方式
   url:'1.php' //请求地址
  }).then(function(response){
   //成功时执行
   console.log(response);
   $scope.data = response.data; //得到请求的数据
  },function(response){
   //失败时执行 
   console.log(response);
  });
 }]);
</script>

1.php

<?php
$data = [
 [ 'name' => '百度', 'url' => 'www.baidu.com' ],
 [ 'name' => '腾讯', 'url' => 'www.qq.com' ],
];
echo json_encode($data,JSON_UNESCAPED_UNICODE);

上面是最简单的$http获取后台数据实例,假如一个页面中要异步加载一个后台文件好几次,那么是不是也要请求服务好几次呢?显然这样会使页面的加载出现迟钝,那么,我们可以通过缓存操作来减少服务器压力,使其尽快显示页面数据,那么,具体怎么做呢?很简单,在$http 中添加cache:true, ,即可解决,再刷新页面的时候,只会显示一次重复请求的数据。

$http({
   method:'get',
   url:'1.php',
   cache:true, //避免多次请求后台数据
  }).then(function(response){
   //成功时执行
   console.log(response);
   $scope.data = response.data;
  },function(response){
   //失败时执行 
   console.log(response);
  });

当然,像jquery的ajax请求那样,angularjs也可以进行简写,

m.controller('ctrl', ['$scope', '$http', function ($scope, $http) {
 //post方式
 //$http.post('1.php',{id:1})参数里可加属性
  $http.post('1.php').then(function(response){
   //成功时执行
   console.log(response);
   $scope.data = response.data;
  });
 }]);
m.controller('ctrl', ['$scope', '$http', function ($scope, $http) {
 //get方式
 //$http.get('1.php',{cache:true}) 参数里可加属性
  $http.get('1.php').then(function(response){
   //成功时执行
   console.log(response);
   $scope.data = response.data;
  });
 }]);

最后,来说下 $http服务之后台接收POST数据的几种方式:

<div ng-app="module" ng-controller="ctrl"></div>
<script>
 var m = angular.module('module', []);
 m.controller('ctrl', ['$scope', '$http', function ($scope, $http) {
  //第一种方式
/*  $http({
   method:'post',
   url:'1.php',
   data:{id:1,name:'后盾人'}
  }).then(function(response){
   console.log(response.data);
  })*/
 //第二种方式
  $http({
   method:'post',
   url:'1.php',
   data:$.param({id:1,name:'后盾人'}),
   headers:{'Content-type':'application/x-www-form-urlencoded'}
  }).then(function(response){
   console.log(response.data);
  })
 }]);
</script>
<?php
#第一种处理方法
//$content = file_get_contents('php://input');
//print_r(json_decode($content,true));

#第二种方式
print_r($_POST);

以上这篇angularJs中$http获取后台数据的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 无符号右移赋值操作
Apr 17 Javascript
jQuery 可以拖动的div实现代码 脚本之家修正版
Jun 26 Javascript
js 学习笔记(三)
Dec 29 Javascript
菜鸟学习JavaScript小实验之函数引用
Nov 17 Javascript
Js 时间间隔计算的函数(间隔天数)
Nov 15 Javascript
Jquery中Event对象属性小结
Feb 27 Javascript
jQuery实现移动端滑块拖动选择数字效果
Dec 24 Javascript
javascript HTML+CSS实现经典橙色导航菜单
Feb 16 Javascript
JavaScript数组去重的几种方法效率测试
Oct 23 Javascript
Bootstrap CSS布局之代码
Dec 17 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
Nov 27 Javascript
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
Dec 02 Vue.js
JavaScript常见JSON操作实例分析
Aug 08 #Javascript
vue.js与后台数据交互的实例讲解
Aug 08 #Javascript
JS实现自定义弹窗功能
Aug 08 #Javascript
vue.js提交按钮时进行简单的if判断表达式详解
Aug 08 #Javascript
解决jquery的ajax调取后端数据成功却渲染失败的问题
Aug 08 #jQuery
JS+HTML5实现获取手机验证码倒计时按钮
Aug 08 #Javascript
JS的Ajax与后端交互数据的实例
Aug 08 #Javascript
You might like
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
php通过strpos查找字符串出现位置的方法
2015/03/17 PHP
PHP实现生成带背景的图形验证码功能
2016/10/03 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
2017/07/03 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
JQquery的一些使用心得分享
2012/08/01 Javascript
js函数调用常用方法详解
2012/12/03 Javascript
JavaScript中的关键字&quot;VAR&quot;使用详解 分享
2013/07/31 Javascript
关于javascript event flow 的一个bug详解
2013/09/17 Javascript
jQuery使用hide方法隐藏元素自身用法实例
2015/03/30 Javascript
jquery实现一个简单的表单验证实例
2016/03/30 Javascript
jQuery居中元素scrollleft计算方法示例
2017/01/16 Javascript
layer弹出层框架alert与msg详解
2017/03/14 Javascript
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
Ionic学习日记实现验证码倒计时
2018/02/08 Javascript
React Form组件的实现封装杂谈
2018/05/07 Javascript
vue在手机中通过本机IP地址访问webApp的方法
2018/08/15 Javascript
React中使用async validator进行表单验证的实例代码
2018/08/17 Javascript
vue项目打包部署_nginx代理访问方法详解
2018/09/20 Javascript
swiper4实现移动端导航栏tab滑动切换
2020/10/16 Javascript
python处理文本文件实现生成指定格式文件的方法
2014/07/31 Python
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
2015/04/05 Python
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
您的健身减肥和健康饮食专家:vitafy
2017/06/06 全球购物
表演方阵解说词
2014/02/08 职场文书
初中学校对照检查材料
2014/08/19 职场文书
受资助学生感谢信
2015/01/21 职场文书
行政助理岗位职责
2015/02/10 职场文书
团拜会主持词
2015/07/04 职场文书
2016年学校党支部公开承诺书
2016/03/25 职场文书
关于html选择框创建占位符的问题
2021/06/09 HTML / CSS
使用Springboot实现健身房管理系统
2021/07/01 Java/Android
Oracle锁表解决方法的详细记录
2022/06/05 Oracle