RESTful类型API调用

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"});
   
    // 通过资源获取数据
    
    方法一:资源中基于GETHTTP方法: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);
    })*/
    
   方法二、基于非GET方法的HTTP方法
     save(params,payload,successFn,errorFn) POST方法
     delete(params,payload,successFn,errorFn) DELETE方法
     remove(params,payload,successFn,errorFn) DELETE方法
     delete和remove功能完全相同,remove是IE中的替代方法
})

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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值