Learn RxJS ajax operator in detail with code examples. This is a stable operator in RxJS V6.x.
What is RxJS ajax operator?
The ajax Operator creates an Observable from an Ajax request with a request object or a URL string. In simple language, use ajax() operator to create Observable for an Ajax request.
API - ajax(urlOrRequest: string | AjaxRequest)
As you can see in the above API specification, ajax accepts `AjaxRequest or url-string.
AjaxRequest interface specification
AjaxRequest is available in the package /rxjs/ajax
interface AjaxRequest {
url?: string
body?: any
user?: string
async?: boolean
method?: string
headers?: Object
timeout?: number
password?: string
hasContent?: boolean
crossDomain?: boolean
withCredentials?: boolean
createXHR?: () => XMLHttpRequest
progressSubscriber?: Subscriber<any>
responseType?: string
}
RxJS ajax operator example
Below code shows a simple example where I pass an object of type AjaxRequest to the ajax operator. You need to first import it from rxjs/ajax . This example is also available on Stackblitz.com.
import { ajax } from "rxjs/ajax";
const requestObj = {
url: "https://api.github.com/users?per_page=5",
method: "GET"
};
const obs$ = ajax(requestObj);
obs$.subscribe(data => {
console.log(JSON.stringify(data.response));
});
Below is another code example that uses URL as a string, try it on Stackblitz.com.
import { ajax } from "rxjs/ajax";
const users = ajax.getJSON("https://api.github.com/users?per_page=2");
const subscribe = users.subscribe(
data => console.log(data),
err => console.error(err)
);