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 02 Javascript
jQuery getJSON()+.ashx 实现分页(改进版)
Mar 28 Javascript
jquery为页面增加快捷键示例
Jan 31 Javascript
在AngularJS中如何使用谷歌地图把当前位置显示出来
Jan 25 Javascript
微信小程序 数据访问实例详解
Oct 08 Javascript
vuejs父子组件之间数据交互详解
Aug 09 Javascript
Vue引入jquery实现平滑滚动到指定位置
May 09 jQuery
详解在React.js中使用PureComponent的重要性和使用方式
Jul 10 Javascript
webstorm+vue初始化项目的方法
Oct 18 Javascript
基于vue实现移动端圆形旋钮插件效果
Nov 28 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
Jun 21 Javascript
使用layer.msg 时间设置不起作用的解决方法
Sep 12 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删除文件夹及其文件夹下所有文件的函数代码
2013/01/23 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
2018/01/15 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
关于php开启错误提示的总结
2019/09/24 PHP
PHP解决高并发的优化方案实例
2020/12/10 PHP
Javascript动态绑定事件的简单实现代码
2010/12/25 Javascript
js根据给定的日期计算当月有多少天实现思路及代码
2013/02/25 Javascript
IE8对JS通过属性和数组遍历解析不一样的地方探讨
2013/05/06 Javascript
关于jQuery中的each方法(jQuery到底干了什么)
2014/03/05 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
2014/03/13 Javascript
浅析angularJS中的ui-router和ng-grid模块
2016/05/20 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
jQuery实现大图轮播
2017/02/13 Javascript
解析jquery easyui tree异步加载子节点问题
2017/03/08 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
2017/08/11 Javascript
浅谈Node异步编程的机制
2017/10/18 Javascript
vue2.0 下拉框默认标题设置方法
2018/08/22 Javascript
微信小程序自定义组件封装及父子间组件传值的方法
2018/08/28 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
2020/05/19 jQuery
vue切换菜单取消未完成接口请求的案例
2020/11/13 Javascript
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
python正则分组的应用
2013/11/10 Python
Python进行数据科学工作的简单入门教程
2015/04/01 Python
使用python加密自己的密码
2015/08/04 Python
Python爬虫爬验证码实现功能详解
2016/04/14 Python
Python命令启动Web服务器实例详解
2017/02/23 Python
python互斥锁、加锁、同步机制、异步通信知识总结
2018/02/11 Python
HTML5拖拽功能实现的拼图游戏
2018/07/31 HTML / CSS
北京某公司的.net笔试题
2014/03/20 面试题
物业管理应届生求职信
2013/10/28 职场文书
高中军训感言800字
2014/03/05 职场文书
交通事故协议书范文
2014/04/16 职场文书
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL
Grafana可视化监控系统结合SpringBoot使用
2022/04/19 Redis