angularjs 获取服务端口数据的方法---$http,$resource,Restangular

angularjs 获取服务端口数据的方法(三种):  $http, $resource, Restangular.   另外BREEZE 也可以参考(ODATA)

其中:$http, 与 Restangular返回 promise。

      promise 是一种以函数来作为then属性值的对象:

then(fulfilledHandler, errorHandler, progressHandler)

添加fulfilledHandler、errorHandler和progressHandler后,promise对象就构成了。 fulfilledHandler是在promise被装载数据的时候调用,errorHandler在promise失败的时候调 用,progressHandler则在progress事件触发的时候调用。所有的参数都是可选的,并且非function的参数都会被忽略掉。有时 progressHandler并不只是一个可选参数,但是progress事件确是纯粹的可选参数而已。promise模式的实现者并不一定要每次都调 用progressHandler(因为它可以被忽略掉),只有这个参数传入的时候才会发生调用。

这个方法在fulfilledHandler或者errorHandler回调完成之后,得返回一个新的promise对象。这样一 来,promise操作就可以形成链式调用。回调handler的返回值是一个promise对象。如果回调抛出异常,这个返回的promise对象就会 把状态设为失败。

==========================

使用 angulasrjs 的内置服务 $http ,在控制器中获取服务端数据 示例:

var app = angular.module(‘MetronicApp‘);

app.controller(‘appCtrl‘, function appCtrl($scope, $http,Restangular) {

(function getUsers() {
        var webapi = "/Api/Userss";    //对本程序所在服务器访问,省略DNS;对它域的访问,需要全地址。
         $http.get(webapi )               // 获取相对地址的数据
             .success(function (response, status, headers, config) {    //成功时的处理
                  var data = new wijmo.collections.ObservableArray(response);
                   $scope.users = new wijmo.collections.CollectionView(data);
             })
             .error(function (response, status, headers, config) {       //失败时的处理,status  代表状态码 403等!
                      console.log(‘请求错误:‘ + webapi );
                      alert(page);
             });

});
     })();

}

============

同样的服务端访问使用:Restangular

var app = angular.module(‘MetronicApp‘);

app.config(function (RestangularProvider) {        //配置基础路由路径
      RestangularProvider.setBaseUrl(‘/Api‘);
});

app.controller(‘appCtrl‘, function appCtrl($scope, Restangular) {     //注入Restangular 服务

(function getUsers() {     //此立即执行的函数,可以省略。。。

Restangular.one("Users").getList().then(function (data) {

$scope.users = new wijmo.collections.CollectionView(data);
            }, function(err){
                 //console.log(‘请求错误:‘ + err);
                  alert("请求错误-----OKKKKKK!");
          });

})();

}

时间: 2024-12-21 03:30:24

angularjs 获取服务端口数据的方法---$http,$resource,Restangular的相关文章

Arcgis Server 10.2默认服务端口号修改方法

本人安装Arcgis Server 10.2之后发布了一个地图服务,该服务默认使用的端口号是6080,本人使用的是教育网,使用教育网均能正常使用该服务,但是使用电信或者移动网络均不能正常访问该网站. 计算机环境: 系统:Windows server 2003 r2: web服务:IIS7.5: arcgis server 10.2: IIS7.5发布了网站服务,所使用的端口号码是80端口: Arcgis sever 10.2安装之后,自带tomcat web服务程序,在安装路径C:\Progra

mysql实现随机获取几条数据的方法

sql语句有几种写法 1:SELECT * FROM tablename ORDER BY RAND() LIMIT 想要获取的数据条数: 2:SELECT *FROM `table` WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM `table` ) ORDER BY id LIMIT 想要获取的数据条数; 3:SELECT * FROM `table`  AS t1 JOIN (SELECT ROUND(RAND() * (SELECT M

jquery中获取ajax返回数据的方法

//此处需要注意的是要想获取ajax返回的值时这个ajax请求必须是同步的,否则获取不到返回值 function getPageTotalAndDataTotal(page) { //设置一个变量用于接收ajax返回的值 var pageTotal = 0; // 获取页数与数据总数 $.ajax({ url : "你的url地址", type : "post", async : false, data : {}, dataType : "json&quo

Ajax获取显示Json数据的方法

<span style="color:#3333FF;"> </span><span style="color:#3333FF;">public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; //--构建json格式数据 //string jsonArr = "{'Id':

随机获取10条数据的方法

SQL Server: 复制代码代码如下: SELECT TOP 10 * FROM T_USER ORDER BY NEWID() ORACLE: 复制代码代码如下: SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE ROWNUM <= 10 MySQL: 复制代码代码如下: SELECT * FROM T_USER  ORDER BY  RAND() LIMIT 10

http的post方式连接服务器,发送数据到服务端,并获取服务端的数据

大概的流程是:客户端填写了用户名和密码,在服务端进行判断,验证密码如果正确,则返回登录成功,如果密码错误,则返回登录失败 客户端是java程序,具体代码如下: package lgx.java.test; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.Unsupport

js添加的表单在火狐下获取不到数据的解决方法

相信很多朋友在进行网页制作的时候都会遇到过这样的问题:就是用js在表单内添加数据控件之后:在火狐下获取不到数据的问题. 前几天,我在开发一个使用js添加数据填写项的时候,也出现了这样的问题:一开始我还以为是火狐下ajax加载数据出了问题(因为在ie下可以正常的获取到数据):经过测试原来并是这样的问题,而是form放得位置不同, 在form和table结合使用的时候,很多朋友都喜欢这样放: <table>                <form>                  

UniGui中使用Grid++Report报表控件子报表获取数据的方法

Grid++Report是为优秀的报表控件,子报表是其重要功能之一,但Grid++Report提供的网页报表示范主要是以页面为主的,UniGui在Delphi中以快速编写web管理软件著称,但由于资料文档很少,经过摸索,Grid++Report的子报表要在uniGUi中正确获取子报表数据,只能通过Ajax数据回调的方式进行,在uniGUi中对前端Ajax的响应,就要是通过控件的AjaxEvent事件来处理.报表模板的展示部分的HTML代码要放在UniURLFrame控件的HTML属性中.Ajax

KindEditor提交用jquery获取不到数据的解决方法

http://www.douban.com/note/257795704/ 如果说用php接收的话,在HTML中这样写就可以了var editor;KindEditor.ready(function(K) {  editor = K.create('#editor_id');如果是用ajax方式提交的话,这样是获取不到数据的,最关键的是数据不同步在html页面中的javascript程序要这样写<script type="text/javascript">   KindEd