Page 269 - AngularJS权威教程
P. 269

19.13 模拟$httpBackend   249


                   url:一个HTTP URL或者接受URL的函数,并且该URL匹配当前定义时返回true。                                    19
                   data (可选):HTTP请求的主体,或者是个函数,接受一个data字符串并且在data符合
                     预期时返回true,或者是一个用JSON格式发送HTTP主体的JavaScript对象。
                   headers (可选):HTTP头。                                                              20

                    // ...
                    $httpBackend.expectPATCH("/v1/api/current_user")                                 21

                  expectPOST()为POST请求创建了一个新的请求预期。它带有三个参数。
                                                                                                     22
                   url:一个HTTP URL或者接受URL的函数,并且该URL匹配当前定义时返回true。
                   data (可选):HTTP请求的主体,或者是个函数,接受一个data字符串并且在data符合
                     预期时返回true,或者是一个用JSON格式发送HTTP主体的JavaScript对象。                                    23
                   headers(可选): HTTP头。
                                                                                                     24
                    // ...
                    $httpBackend.expectPOST("/v1/api/sign_up", {'userId': 1234});
                  expectPUT()为PUT请求创建了一个新的请求预期。它带有三个参数。                                              25

                   url:一个HTTP URL或者接受URL的函数,并且该URL匹配当前定义时返回true。
                   data (可选):HTTP请求的主体,或者是个函数,接受一个data字符串并且在data符合                                  26
                     预期时返回true,或者是一个用JSON格式发送HTTP主体的JavaScript对象。
                   headers :(可选) HTTP头。                                                             27

                    // ...
                    $httpBackend.expectPUT("/v1/api/user/1234", {'name': 'Ari'});
                                                                                                     28
                  expectDELETE()为DELETE请求创建了一个新的请求预期。它带有两个参数。
                   url:一个HTTP URL或者接受URL的函数,并且该URL匹配当前定义时返回true。                                    29
                   headers:(可选)HTTP头。

                    // ...                                                                           30
                    $httpBackend.expectDELETE("/v1/api/user/123")
                  3. requestHandler
                                                                                                     31
                  我们的expect()方法都会返回一个requestHandler对象,带有一个函数: respond。 respond
              方法让我们能给模拟的HTTP请求建立一个响应。
                                                                                                     32
                  requestHandler的response函数有两种形式。

                  第一种形式允许我们设置响应代码、响应数据、响应头,或者全部三项。                                                   33
                  // ...
                  $httpBackend.expectGET("/v1/api/current_user")                                     34
                    // 响应一个200状态代码
                    // 还有主体“success”
                    .respond(200, 'Success');
                    // 或者只返回数据                                                                       35
                    .respond("Fail");
                    // 或者只有请求头
                    .respond({'X-RESPONSE', 'Failure'});                                             36
   264   265   266   267   268   269   270   271   272   273   274