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中常见的校验如域名、手机、邮箱等等
Jan 02 Javascript
JavaScript实现的购物车效果可以运用在好多地方
May 09 Javascript
node.js中的fs.futimesSync方法使用说明
Dec 17 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
Jun 26 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
Aug 07 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
Sep 30 Javascript
jquery实现图片上传前本地预览功能
May 10 Javascript
Vue实例简单方法介绍
Jan 20 Javascript
微信小程序 页面传值详解
Mar 10 Javascript
Vue单页面应用保证F5强刷不清空数据的解决方案
Jan 31 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
Sep 18 Javascript
JS实现百度搜索框
Feb 25 Javascript
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
php数组函数序列之in_array() - 查找数组中是否存在指定值
2011/11/07 PHP
Apache中php.ini的设置方法
2013/02/28 PHP
php打印输出棋盘的实现方法
2014/12/23 PHP
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
php获取用户真实IP和防刷机制的实例代码
2018/11/28 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
2019/04/10 PHP
laravel使用Faker数据填充的实现方法
2019/04/12 PHP
JavaScript中几个重要的属性(this、constructor、prototype)介绍
2013/05/19 Javascript
jquery中通过父级查找进行定位示例
2013/06/28 Javascript
js获取input标签的输入值实现代码
2013/08/05 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
jQuery寻找n以内完全数的方法
2015/06/24 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
2016/05/03 Javascript
使用jquery获取url及url参数的简单实例
2016/06/14 Javascript
Angular 页面跳转时传参问题
2016/08/01 Javascript
JavaScript中动态向表格添加数据
2017/01/24 Javascript
使用async-validator编写Form组件的方法
2018/01/10 Javascript
node.js之基础加密算法模块crypto详解
2018/09/11 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
生产制造追溯系统之再说条码打印
2019/06/03 Javascript
python中使用sys模板和logging模块获取行号和函数名的方法
2014/04/15 Python
Python异常学习笔记
2015/02/03 Python
Python中的下划线详解
2015/06/24 Python
基于Python实现通过微信搜索功能查看谁把你删除了
2016/01/27 Python
Python数据类型详解(二)列表
2016/05/08 Python
Python实现多并发访问网站功能示例
2017/06/19 Python
Django rest framework基本介绍与代码示例
2018/01/26 Python
Python Flask框架扩展操作示例
2019/05/03 Python
python字典排序的方法
2019/10/12 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
Windows 下更改 jupyterlab 默认启动位置的教程详解
2020/05/18 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
2014年保洁员工作总结
2014/11/19 职场文书
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python
Win11如何查看显卡型号 Win11查看显卡型号的方法
2022/08/14 数码科技