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 相关文章推荐
风吟的小型JavaScirpt库 (FY.JS).
Mar 09 Javascript
jQuery实现表单提交时判断的方法
Dec 13 Javascript
浅谈js中的延迟执行和定时执行
May 31 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
Mar 06 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
Mar 08 Javascript
使用Node.js实现简易MVC框架的方法
Aug 07 Javascript
详解Vue Elememt-UI构建管理后台
Feb 27 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
May 31 Javascript
vue-cli项目修改文件热重载失效的解决方法
Sep 19 Javascript
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
Aug 27 jQuery
jQuery使用ajax传递json对象到服务端及contentType的用法示例
Mar 12 jQuery
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
Apr 14 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/02/13 PHP
PHP 7的一些引人注目的新特性简单介绍
2015/11/08 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
js 蒙版进度条(结合图片)
2010/03/10 Javascript
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
javascript实现网页背景烟花效果的方法
2015/08/06 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
JS实现的页面自定义滚动条效果
2015/10/26 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
2016/05/31 Javascript
vue多级多选菜单组件开发
2020/09/08 Javascript
jQuery实现级联下拉框实战(5)
2017/02/08 Javascript
nodejs中解决异步嵌套循环和循环嵌套异步的问题
2017/07/12 NodeJs
Node.js模块全局安装路径配置方法
2018/05/17 Javascript
vue.js多页面开发环境搭建过程
2019/04/24 Javascript
JS window对象简单操作完整示例
2020/01/14 Javascript
js回调函数原理与用法案例分析
2020/03/04 Javascript
vue项目中使用bpmn为节点添加颜色的方法
2020/04/30 Javascript
weui上传多图片,压缩,base64编码的示例代码
2020/06/22 Javascript
Python_LDA实现方法详解
2017/10/25 Python
Python3 读、写Excel文件的操作方法
2018/10/20 Python
python模块导入的细节详解
2018/12/10 Python
关于django 1.10 CSRF验证失败的解决方法
2019/08/31 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
使用Html5多媒体实现微信语音功能
2019/07/26 HTML / CSS
viagogo法国票务平台:演唱会、体育比赛、戏剧门票
2017/03/27 全球购物
Asics日本官网:鬼冢八喜郎创立的跑鞋运动品牌
2017/10/18 全球购物
高品质和独特的产品世界:Creations and Collections
2018/01/07 全球购物
Vrbo西班牙:预订您的度假公寓(公寓、乡村房屋…)
2020/04/27 全球购物
新三好学生主要事迹
2014/01/23 职场文书
领导干部对照检查材料
2014/08/24 职场文书
党支部创先争优活动总结
2014/08/28 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
2015试用期转正工作总结
2014/12/12 职场文书
任命书怎么写
2015/03/02 职场文书
2015年公路养护工作总结
2015/05/13 职场文书
Redis命令处理过程源码解析
2022/02/12 Redis