zoukankan      html  css  js  c++  java
  • AngularJS入门教程之与服务器(Ajax)交互操作示例

    AngularJS从Web服务器请求资源都是通过Ajax来完成,所有的操作封装在$http服务中,$http服务是只能接收一个参数的函数,这个参数是一个对象,用来完成HTTP请求的一些配置,函数返回一个对象,具有success和error两个方法。

    用法如下:

    $http({method:'post',url:'loginAction.do'
    }).success(function(data,status,headers,config){
    //正常响应回调
    }).error(function(data,status,headers,config){
    //错误响应回调
    });

    状态码在200-299之间,会认为响应是成功的,success方法会被调用,第一个参数data为服务器端返回的数据,status为响应状态码。后面两个参数不常用,这里不做介绍。有兴趣的朋友请参考AngularJs API文档。

    除此之外$http服务提供了一些快捷方法,这些方法简化了复杂的配置,只需要提供URL即可。比如对于post请求我们可以写成下面这个样子:

    $http.post("loginAction.do")
    .success(function(data,status,headers,config){
    //正常响应回调
    }).error(function(data,status,headers,config){
    //错误响应回调
    });
    下面来看一个案例:
    <!DOCTYPE html>
    <html ng-app="serverMod">
    <head lang="en">
     <meta charset="UTF-8">
     <script type="text/javascript" src="angular-1.3.0.14/angular.js"></script>
     <title>tutorial09</title>
    </head>
    <body ng-controller="ServerController" ng-init="init()">
    <p>name:{{name}}</p>
    <p>age:{{age}}</p>
    <button ng-click="getInfo()">请求</button>
    </body>
    <script>
     var serverMod = angular.module("serverMod",[]);
     serverMod.controller("ServerController",function($scope,$log,$http){
      $scope.init = function()
      {
       $log.info("init functionn");
      }
      $scope.getInfo = function()
      {
       $http.get("json/person.json").success(function(data,status){
        alert(status);
        $scope.name = data.name;
        $scope.age = data.age;
       });
      }
     });
    </script>
    </html>
    点击”请求”按钮,我们通过$http服务以get方式向服务器请求数据,服务器响应数据格式通常为一段Json,这里我们用一个文本文件代替,person.json内容如下:
    {"name":"Rongbo_J","age":"23"}
     
     
  • 相关阅读:
    《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX
    《CMake实践》笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE
    《CMake实践》第三部分的示例代码的错误
    利用 autoconf 和 automake 生成 Makefile 文件
    如何安装 罗技“优联技术”无线鼠标、无线键盘?
    make 和 makefile 的关系
    编译器 cc、gcc、g++、CC 的区别
    如何撤销 PhpStorm/Clion 等 JetBrains 产品的 “Mark as Plain Text” 操作 ?
    Linux/Ubuntu tree 命令以树形结构显示文件夹目录结构
    C/C++ 静态链接库(.a) 与 动态链接库(.so)
  • 原文地址:https://www.cnblogs.com/reaf/p/6664962.html
Copyright © 2011-2022 走看看