12345678910111213141516171819 |
- export interface BrowserTransportOptions {
- url: string;
- data: any;
- }
- export const makeXHRRequest = (options: BrowserTransportOptions): Promise<XMLHttpRequestResponseType> => {
- return new Promise((resolve, reject) => {
- const xhr = new XMLHttpRequest();
- xhr.open('POST', options.url, true);
- xhr.setRequestHeader('Content-Type', 'application/json');
- xhr.onerror = reject;
- xhr.onreadystatechange = (): void => {
- if (xhr.readyState === 4) {
- resolve(xhr.response);
- }
- };
- xhr.send(JSON.stringify(options.data));
- });
- };
|