Http
Performs http requests using XMLHttpRequest
as the default backend.
已弃用: see https://angular.io/guide/http
class Http {
protected _backend: ConnectionBackend
protected _defaultOptions: RequestOptions
request(url: string | Request, options?: RequestOptionsArgs): Observable<Response>
get(url: string, options?: RequestOptionsArgs): Observable<Response>
post(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>
put(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>
delete(url: string, options?: RequestOptionsArgs): Observable<Response>
patch(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>
head(url: string, options?: RequestOptionsArgs): Observable<Response>
options(url: string, options?: RequestOptionsArgs): Observable<Response>
}
子类
说明
Http
is available as an injectable class, with methods to perform http requests. Calling request
returns an Observable
which will emit a single Response
when a response is received.
属性
属性 | 说明 |
---|---|
protected _backend: ConnectionBackend | |
protected _defaultOptions: RequestOptions |
方法
Performs any type of http request. First argument is required, and can either be a url or a | ||||||
参数
返回值
|
Performs a request with | ||||||
参数
返回值
|
Performs a request with | |||||||||
参数
返回值
|
Performs a request with | |||||||||
参数
返回值
|
Performs a request with | ||||||
参数
返回值
|
Performs a request with | |||||||||
参数
返回值
|
Performs a request with | ||||||
参数
返回值
|
Performs a request with | ||||||
参数
返回值
|
使用说明
Example
- import {Http, HTTP_PROVIDERS} from '@angular/http';
- import {map} from 'rxjs/operators';
-
- @Component({
- selector: 'http-app',
- viewProviders: [HTTP_PROVIDERS],
- templateUrl: 'people.html'
- })
- class PeopleComponent {
- constructor(http: Http) {
- http.get('people.json')
- // Call map on the response observable to get the parsed people object
- .pipe(map(res => res.json()))
- // Subscribe to the observable to get the parsed people object and attach it to the
- // component
- .subscribe(people => this.people = people);
- }
- }
Example
http.get('people.json').subscribe((res:Response) => this.people = res.json());
The default construct used to perform requests, XMLHttpRequest
, is abstracted as a "Backend" ( XHRBackend
in this case), which could be mocked with dependency injection by replacing the XHRBackend
provider, as in the following example:
Example
- import {BaseRequestOptions, Http} from '@angular/http';
- import {MockBackend} from '@angular/http/testing';
- var injector = Injector.resolveAndCreate([
- BaseRequestOptions,
- MockBackend,
- {provide: Http, useFactory:
- function(backend, defaultOptions) {
- return new Http(backend, defaultOptions);
- },
- deps: [MockBackend, BaseRequestOptions]}
- ]);
- var http = injector.get(Http);
- http.get('request-from-mock-backend.json').subscribe((res:Response) => doSomething(res));