AngularJs之七

今天接着说angularJs服务,但今天专注说一下http服务。

一:$http 是 AngularJS 应用中最常用也是最核心的服务。 服务向服务器发送请求,应用响应服务器传送过来的数据。

<div ng-app="myapp" ng-controller="mycc">
    <h1>{{mylike}}</h1>
</div>
<script>
 var app=angular.module("myapp",[]);
 app.controller("mycc",function($scope,$http){
     $http.get("httpservice.html").then(function (response) {
                $scope.mylike = response.data;
        });
     })
</script>

httpservice.html内容只有下面几个字,或者是json数据格式:

最喜欢的还是刀削面

二:AngularJS $http 是一个用于读取web服务器上数据的服务。
$http.get(“url”)方法获取服务器端数据文件,下面是Json数据文件循环输出的实例。

<div ng-app="myapp" ng-controller="mycc">
    <h1>{{ctitle}}</h1>
  <ul>
      <li ng-repeat="x in names">姓名:{{x.uname}},性别:{{x.usex}}</li>
  </ul>
</div>
<script>
 var app=angular.module("myapp",[]);
 app.controller("mycc",function($scope,$http){
           $http.get(“student_json.php").success(function(response){
        $scope.names=response.info;
        $scope.ctitle=response.ctitle;
     })
 })
</script>

以上是html文件代码

{"ctitle":"人员名单","info":[
{"uname":"如花姑娘","usex":"女"}
,{"uname":"马金莲","usex":"女"}
,{"uname":"西门大官人","usex":"男"}
,{"uname":"叶良辰","usex":"未知"}
,{"uname":"李宝裤","usex":"男"}
,{"uname":"蓝瘦","usex":"女"}
,{"uname":"香菇","usex":"女"}
]}

以上是php文件代码

三:提交数据。

<div ng-app="uapp" ng-controller="uctrl">
    用户名:<input type="text" ng-model="sdata.uname"><br>
    密码:<input type="text" ng-model="sdata.upwd"><br>
         <input type="button" ng-click="mypost()" value="提交数据">
</div>
<script language="javascript">
 var app=angular.module("uapp",[]);
 //下面是创建jsonToStr服务,可以将json对象转换为json字符串,否则后台将接收不到数据
 app.service("jsonToStr",function(){
        this.transform = function(jsonData){
            var string = ‘‘;
            for(str in jsonData){
                string = string + str +‘=‘ + jsonData[str] +‘&‘;
            }
            var _last = string.lastIndexOf(‘&‘);
            string = string.substring(0,_last);
            return string;
        }
 })
</script>
app.controller("uctrl",function($scope,$http,jsonToStr){
     $scope.sdata={"uname":"huangxc","upwd":"aabbcc"};
     //单击事件方法如下
     $scope.mypost=function(){
        //http语法: $http({}).success(function(ret){}).error(function(){})
          $http({
              url:"http://127.0.0.2/angularjs/data.php"
            ,method: ‘POST‘
            ,data:jsonToStr.transform($scope.sdata)
            , headers: { ‘Content-Type‘: ‘application/x-www-form-urlencoded‘ },
              }).success(function(ret){
                 alert(ret)
              }).error(function(){})

    }
 })
时间: 2024-07-30 02:26:27

AngularJs之七的相关文章

angularjs学习之七(angularjs中指令的四种基本形式)

指令的四种基本形式中, 注意注释型指令 M 的使用方法是 <!--  directive:指令名称  --> 注意左右俩测必须有空格才会正常识别 所有指令是可以相互组合 的,不写restrict ,将会默认为A属性 指令 要支持IE8 浏览器 一般最好将指令设置为属性 <!doctype html> <html ng-app="myapp"> <head> <meta charset="utf-8"/> &

angularJs中关于ng-class的三种使用方式说明

在开发中我们通常会遇到一种需求:一个元素在不同的状态需要展现不同的样子. 而在这所谓的样子当然就是改变其css的属性,而实现能动态的改变其属性值,必然只能是更换其class属性 这里有三种方法: 第一种:通过数据的双向绑定(不推荐) 第二种:通过对象数组 第三种:通过key/value 下面简单说下这三种: 第一种:通过数据的双向绑定 实现方式: function changeClass(){   $scope.className = "change2"; } <div clas

Node.js 使用angularjs取得Nodejs http服务端返回的JSON数组示例

server.js代码: // 内置http模块,提供了http服务器和客户端功能(path模块也是内置模块,而mime是附加模块) var http=require("http"); // 创建服务器,创建HTTP服务器要调用http.createServer()函数,它只有一个参数,是个回调函数,服务器每次收到http请求后都会调用这个回调函数.服务器每收到一条http请求,都会用新的request和response对象触发请求函数. var server=http.createS

Bootstrap + AngularJS+ Ashx + SQL Server/MySQL

去年年底12月,为适应移动端浏览需求,花了1个月时间学习Bootstrap,并将公司ASP网站重构成ASP.NET. 当时采取的网站架构: Bootstrap + jQuery + Ashx + SQL Server 时间紧,没人带,只能硬着头皮,最后如期完成,但是也遗留了几个问题. 问题: 1.页面查询条件太复杂,太多的checkbox,jQuery操作DOM虽然方便,但是组合成json提交给后端还是比较麻烦,有没有天然支持json的前端框架或者脚本语言? html控件做的任何修改,都自动保存

一招制敌 - 玩转 AngularJS 指令的 Scope (作用域),讲得特别好

学习了AngularJS挺长时间,最近再次回首看看指令这部分的时候,觉得比自己刚开始学习的时候理解的更加深入了,尤其是指令的作用域这部分. 步入正题: 每当一个指令被创建的时候,都会有这样一个选择,是继承自己的父作用域(一般是外部的Controller提供的作用域或者根作用域($rootScope)),还是创建一个新的自己的作用域,当然AngularJS为我们指令的scope参数提供了三种选择,分别是:false,true,{}:默认情况下是false. scope = false 首先我们来看

前端angularJS利用directive实现移动端自定义软键盘的方法

最近公司项目的需求上要求我们iPad项目上一些需要输入数字的地方用我们自定义的软键盘而不是移动端设备自带的键盘,刚接到需求有点懵,因为之前没有做过,后来理了一下思路发现这东西也就那样.先看一下实现之后的效果: 实现的效果就是当点击页面中需要弹出软键盘的时候软键盘弹出,浮在页面的中间,和模态框一样的效果,可以在软键盘中输入任何数字,附带的功能有小数点.退格.清空.确定等功能.当在键盘上点击数字的时候页面中的表单中实时的添加对应的数字,上图中可以看到. 产品经理那边给的原因是iPad屏幕本来就小,如

Hibernate的七种映射关系之七种关联映射(二)

继续上篇博客 七.Hibernate双向一对多关联映射:让多的一端来维护关系. 主要是解决一对多单向关联的缺陷,而不是需求驱动的. 1.在Student.java实体类里添加Classes引用.private Classes classes; 2.Student.hbm.xml里添加many-to-one标签:<many-to-one name="classes" column="classesid"/>.Classes.hbm.xml在例子(六)里的那

Hibernate的七种映射关系之七种关联映射(一)

关联映射就是将关联关系映射到数据库里,在对象模型中就是一个或多个引用. 一.Hibernate多对一关联映射:就是在"多"的一端加外键,指向"一"的一端. 比如多个学生对应一个班级,多个用户对应一个级别等等,都是多对一关系. 1."多"端实体加入引用"一"端实体的变量及getter,setter方法. 比如说多个学生对应一个班级,在学生实体类加入:private Grade grade; 2."多"端配置文

AngularJs自定义过滤器filter

AngularJs自带有很多过滤器,现在Insus.NET演示一个自定义的过滤器,如实现一个数据的平方. 本演示是在ASP.NET MVC环境中进行. 创建一个app: 创建一个控制器: 接下来是重点,创建一个过滤器,例子中的过滤器是实现一个数值的平方. 以上的所指的App,控制器和过滤器均是依Angularjs而言. 下面是ASP.NET MVC的视图,实现数据过滤: 程序运行结果: