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 remove 自定义数组删除方法
Oct 20 Javascript
20个最新的jQuery插件
Jan 13 Javascript
动态加载JS文件的三种方法
Nov 08 Javascript
Javascript基础知识(三)BOM,DOM总结
Sep 29 Javascript
基于javascript实现listbox左右移动
Jan 29 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
May 17 Javascript
JS实现的加减乘除四则运算计算器示例
Aug 09 Javascript
浅析JS抽象工厂模式
Dec 14 Javascript
jQuery实现模糊查询的方法分析
May 10 jQuery
详解微信UnionID作用
May 15 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
Jul 30 Javascript
js实现碰撞检测
Jan 29 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分页时出现的Fatal error的解决方法
2011/04/18 PHP
php按单词截取字符串的方法
2015/04/07 PHP
简单介绍PHP的责任链编程模式
2015/08/11 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
web性能优化之javascript性能调优
2012/12/28 Javascript
元素未显示设置width/height时IE中使用currentStyle获取为auto
2014/05/04 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
Jquery树插件zTree用法入门教程
2015/02/17 Javascript
JS DOM实现鼠标滑动图片效果
2020/09/17 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
2016/07/05 Javascript
总结在前端排序中遇到的问题
2016/07/19 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
2017/01/19 Javascript
深究AngularJS之ui-router详解
2017/06/13 Javascript
基于AngularJS的简单使用详解
2017/09/10 Javascript
解决option标签selected=&quot;selected&quot;属性失效的问题
2017/11/06 Javascript
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
Vue 事件处理操作实例详解
2019/03/05 Javascript
通过实例解析jQ Ajax操作相关原理
2020/09/23 Javascript
Java多线程编程中ThreadLocal类的用法及深入
2016/06/21 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
Python基于sklearn库的分类算法简单应用示例
2018/07/09 Python
Python实现高斯函数的三维显示方法
2018/12/29 Python
pytorch 实现tensor与numpy数组转换
2019/12/27 Python
pycharm新建Vue项目的方法步骤(图文)
2020/03/04 Python
Matplotlib自定义坐标轴刻度的实现示例
2020/06/18 Python
aden + anais官方网站:婴儿襁褓、毯子、尿布和服装
2017/06/21 全球购物
Foreo国际站:Foreo International
2018/10/29 全球购物
消防安全管理制度
2014/02/01 职场文书
119消防日活动总结
2014/08/29 职场文书
预备党员转正思想汇报
2014/09/26 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
2014年学习委员工作总结
2014/11/14 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
解决golang post文件时Content-Type出现的问题
2021/05/02 Golang
js实现模拟购物商城案例
2021/05/18 Javascript
mybatis中sql语句CDATA标签的用法说明
2021/06/30 Java/Android