Page 154 - AngularJS权威教程
P. 154

134  第 15 章  同外界通信:XHR 和服务器通信



                        这个功能可以通过使用请求转换器实现,对于单个请求,也可以通过设置$http

                        请求的headers选项实现。
                 也可以只对POST和PUT类型的请求进行设置。POST请求的默认头如下所示:

                 Content-Type: application/json
                 可以在.config()函数中对POST请求的头进行修改或扩充,如下所示:

                 angular.module('myApp', [])
                 .config(function($httpProvider) {
                     $httpProvider.defaults.headers
                         .post['X-Posted-By'] = 'MyAngularApp';
                 });
                 也可以对所有的PUT请求做同样的设置。PUT请求的默认头如下所示:

                 Content-Type: application/json
                 可以在.config()函数中对PUT请求的头进行修改或扩充,如下所示:

                 angular.module('myApp', []) .config(function($httpProvider){
                     $httpProvider.defaults.headers
                         .put['X-Posted-By'] = 'MyAngularApp';
                 });

             15.7 使用$resource

                 AngularJS还提供另外一个非常有用的可选服务$resource供我们使用。这个服务可以创建一
             个资源对象,我们可以用它非常方便地同支持RESTful的服务端数据源进行交互,当同支持
             RESTful的数据模型一起工作时,它就派上用场了。


                         REST是Representational State Transfer(表征状态转移)的缩写,是服务器用来
                        智能化地提供数据服务的一种方式。更多关于REST的信息可以查看维基百科 。
                                                                                          ①

                 $resource服务难以置信地方便,它对很多复杂的细节进行了抽象,只留下同后端服务器进
             行真正有意义的交互,前提是服务器支持RESTful的数据模型。
                 $resource服务可以将$http请求转换成save和update等简单形式。我们可以通过$resource
             服务来处理复杂的细节,而无需自己编写重复和繁琐的业务代码。


             15.8 安装


                 ngResource模块是一个可选的AngularJS模块,支持与RESTful的后端数据源进行交互。由于
             ngResource模块没有默认内置在AngularJS中,因此我们需要安装并在应用中引用它。

                                          ②
                 首先需要从code.angularjs.org 上下载它,然后放到一个类似于js/vendor/angular-resource.js这
             ——————————
                ① http://en.wikipedia.org/wiki/Representational_State_Transfer
                ② http://code.angularjs.org
   149   150   151   152   153   154   155   156   157   158   159