RESTful类型API调用

若如初见. 提交于 2019-12-19 04:16:04

RESTful类型API调用

Representational State Transfer(表征状态转移)
AngularJS提供$resource服务可以同支持RESTful服务器端数据源进行交互。
使用$resource步骤
    1、引入angular-resource.js
    2、添加依赖’ngResource’
    3、获取资源实例:$resource(‘data/:name.json’,{name:’@username’})

基于GET的HTTP方法:
1)get(params,successFn,errorFn)
   get方法可以不需要设置回调函数
2)query(params,successFn,errorFn)
  get和query的唯一不同是AngularJS期望query返回的是数组
var app = angular.module('myApp', ["ngResource"]);
// 创建控制器获取用户tom的数据并显示
// 此处需要注入$resource,通过RESTful的形式查询数据
app.controller("MyController", function ($scope, $resource) {
    // 获取资源实例
    // var User = $resource("data/:name.json"); //{name: "@name"}可写可不写
    var User = $resource("data/:name.json", {name: "@name"});
    // 通过资源获取数据
    // 资源中基于GET的HTTP方法:get, query
    // get方法的使用:get(params,successFn,errorFn)
    /* User.get({name: "tom"}, function (result) {
         console.log(result);
         $scope.user={username:result.username,age:result.age};
         })*/

    //注意:get方法可以不需要设置回调函数
    // 可以直接使用返回结果,好像是一个同步调用
    // $scope.user=User.get({name: "tom"});

    //query方法的使用,它和get方法基本一致,唯一不同是AngularJS期待返回结果为数组
    /*User.query({name: "users1"}, function (result) {
        console.log(result);
    })*/
})

tom.json文件

{
  "username": "Tom",
  "age": 17
}

users1.json文件

[
    {"name": "Tom","age": 17},
    {"name": "Marry","age": 18 }
  ]
<body ng-controller="MyController">
<h2>用户tom</h2>
<hr>
用户名:{{user.username}}<br>
年龄:{{user.age}}

<script src="js/angular.js"></script>
<script src="js/angular-resource.js"></script>
<script src="js/RESTful.js"></script>
</body>
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!