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 相关文章推荐
JS定时刷新页面及跳转页面的方法
Jul 04 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
Dec 27 Javascript
jQuery之DOM对象和jQuery对象的转换与区别分析
Jan 08 Javascript
javascript实现tab响应式切换特效
Jan 29 Javascript
requireJS使用指南
Apr 27 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
Nov 21 Javascript
javascript入门之string对象【新手必看】
Nov 22 Javascript
使用JavaScript触发过渡效果的方法
Jan 19 Javascript
angularJS 指令封装回到顶部示例详解
Jan 22 Javascript
Js中async/await的执行顺序详解
Sep 22 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
Feb 20 jQuery
浅谈js中的bind
Mar 18 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提取字符串中的图片地址[正则表达式]
2011/11/12 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
Nigma vs Liquid BO3 第二场2.13
2021/03/10 DOTA
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
js内置对象 学习笔记
2011/08/01 Javascript
JQuery学习笔录 简单的JQuery
2012/04/09 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
JQuery EasyUI 数字格式化处理示例
2014/05/05 Javascript
IE下通过a实现location.href 获取referer的值
2014/09/04 Javascript
DOM基础教程之事件类型
2015/01/20 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
JavaScript定义全局对象的方法示例
2017/01/12 Javascript
使用vue打包时vendor文件过大或者是app.js文件很大的问题
2018/06/29 Javascript
微信网页登录逻辑与实现方法
2019/04/29 Javascript
详解vue项目中实现图片裁剪功能
2019/06/07 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
2020/07/28 Javascript
element中Steps步骤条和Tabs标签页关联的解决
2020/12/08 Javascript
常见python正则用法的简单实例
2016/06/21 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
戴尔马来西亚官网:Dell Malaysia
2020/05/02 全球购物
会计专业毕业生自荐信范文
2013/12/20 职场文书
电气工程和自动化自荐信范文
2013/12/25 职场文书
医科大学毕业生自荐信
2014/02/03 职场文书
夫妻忠诚协议书范本
2014/11/17 职场文书
律政俏佳人观后感
2015/06/09 职场文书
民主生活会主持词
2015/07/01 职场文书
MySQL中使用or、in与union all在查询命令下的效率对比
2021/05/26 MySQL
Python天气语音播报小助手
2021/09/25 Python
关于PHP数组迭代器的使用方法实例
2021/11/17 PHP
Python requests用法和django后台处理详解
2022/03/19 Python
Fluentd搭建日志收集服务
2022/09/23 Servers
MySQL数据管理操作示例讲解
2022/12/24 MySQL