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调用客户端Java程序的方法
Jul 27 Javascript
基于javascript实现简单的抽奖系统
Apr 15 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
Jun 24 Javascript
Angular如何在应用初始化时运行代码详解
Jun 11 Javascript
Vue实现移动端页面切换效果【推荐】
Nov 13 Javascript
vue与bootstrap实现简单用户信息添加删除功能
Feb 15 Javascript
vue+element加入签名效果(移动端可用)
Jun 17 Javascript
vue自定义switch开关组件,实现样式可自行更改
Nov 01 Javascript
JavaScript碰撞检测原理及其实现代码
Mar 12 Javascript
vue项目启动出现cannot GET /服务错误的解决方法
Apr 26 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
Sep 04 Javascript
如何利用node转发请求详解
Sep 17 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冒泡算法详解(递归实现)
2014/11/10 PHP
php自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
优化Jquery,提升网页加载速度
2013/11/14 Javascript
jQuery修改CSS伪元素属性的方法
2014/07/30 Javascript
JavaScript限定图片显示大小的方法
2015/03/11 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
AngularJS中ng-class用法实例分析
2017/07/06 Javascript
H5基于iScroll实现下拉刷新和上拉加载更多
2017/07/18 Javascript
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
Vue elementui字体图标显示问题解决方案
2020/08/18 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
python定时器使用示例分享
2014/02/16 Python
python根据出生日期获得年龄的方法
2015/03/31 Python
对Python使用mfcc的两种方式详解
2019/01/09 Python
利用python控制Autocad:pyautocad方式
2020/06/01 Python
python画图时设置分辨率和画布大小的实现(plt.figure())
2021/01/08 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
经典的班主任推荐信
2013/10/28 职场文书
4s客服专员岗位职责
2013/12/01 职场文书
培训心得体会
2013/12/29 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
校长四风对照检查材料
2014/09/27 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
2015年档案室工作总结
2015/05/23 职场文书
尼克胡哲观后感
2015/06/08 职场文书
历史名人教你十五个读书方法,赶快Get起来!
2019/07/18 职场文书
解析在浏览器地址栏输入一个URL后发生了什么
2021/06/21 Servers
JS封装cavans多种滤镜组件
2022/02/15 Javascript
Python函数对象与闭包函数
2022/04/13 Python
Mysql 文件配置解析介绍
2022/05/06 MySQL