RESTful类型API调用
Representational State Transfer(表征状态转移)AngularJS提供$resource服务可以同支持RESTful服务器端数据源进行交互。使用$resource步骤1、引入angular-resource.js2、添加依赖’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);})*/方法二、基于非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>
如果觉得《RESTful类型API调用》对你有帮助,请点赞、收藏,并留下你的观点哦!