---
title: XMLHttpRequest
framework: tvmljs
role: symbol
role_heading: Class
path: tvmljs/xmlhttprequest
---

# XMLHttpRequest

An object used to retrieve data from a URL.

## Declaration

```data
interface XMLHttpRequest
```

## Topics

### Initializing and Sending a Request

- [abort](tvmljs/xmlhttprequest/1627356-abort.md)
- [open](tvmljs/xmlhttprequest/1627318-open.md)
- [send](tvmljs/xmlhttprequest/1627309-send.md)
- [timeout](tvmljs/xmlhttprequest/1627335-timeout.md)
- [XMLHttpRequest](tvmljs/xmlhttprequest/1627350-xmlhttprequest.md)

### Manipulating the Header List

- [getAllResponseHeaders](tvmljs/xmlhttprequest/1627343-getallresponseheaders.md)
- [getResponseHeader](tvmljs/xmlhttprequest/1627438-getresponseheader.md)
- [setRequestHeader](tvmljs/xmlhttprequest/1627317-setrequestheader.md)

### Retrieving Request Information

- [metrics](tvmljs/xmlhttprequest/1627436-metrics.md)
- [readyState](tvmljs/xmlhttprequest/1627324-readystate.md)
- [response](tvmljs/xmlhttprequest/1627364-response.md)
- [responseCacheIsValid](webkitjs/xmlhttprequest/2871089-responsecacheisvalid.md)
- [responseText](tvmljs/xmlhttprequest/1627363-responsetext.md)
- [responseType](tvmljs/xmlhttprequest/1627342-responsetype.md)
- [responseURL](webkitjs/xmlhttprequest/1630664-responseurl.md)
- [responseXML](tvmljs/xmlhttprequest/1627307-responsexml.md)
- [status](tvmljs/xmlhttprequest/1627403-status.md)
- [statusText](tvmljs/xmlhttprequest/1627375-statustext.md)

### Implementing Callback Functions

- [onabort](tvmljs/xmlhttprequest/1627410-onabort.md)
- [onerror](tvmljs/xmlhttprequest/1627328-onerror.md)
- [onload](tvmljs/xmlhttprequest/1627316-onload.md)
- [onloadend](tvmljs/xmlhttprequest/1627365-onloadend.md)
- [onloadstart](tvmljs/xmlhttprequest/1627440-onloadstart.md)
- [onreadystatechange](tvmljs/xmlhttprequest/1627414-onreadystatechange.md)
- [ontimeout](tvmljs/xmlhttprequest/1627321-ontimeout.md)

### Responding to Events

- [abort](tvmljs/xmlhttprequest/1627402-abort.md)
- [error](tvmljs/xmlhttprequest/1627326-error.md)
- [load](tvmljs/xmlhttprequest/1627352-load.md)
- [loadend](tvmljs/xmlhttprequest/1627393-loadend.md)
- [loadstart](tvmljs/xmlhttprequest/1627371-loadstart.md)
- [readystatechange](tvmljs/xmlhttprequest/1627304-readystatechange.md)

### WebKit JS Only

- [upload](webkitjs/xmlhttprequest/1631575-upload.md)
- [withCredentials](webkitjs/xmlhttprequest/1629921-withcredentials.md)
- [overrideMimeType](webkitjs/xmlhttprequest/1630533-overridemimetype.md)
- [retrieveResponse](webkitjs/xmlhttprequest/2871231-retrieveresponse.md)
- [UNSENT](webkitjs/xmlhttprequest/1630628-unsent.md)
- [OPENED](webkitjs/xmlhttprequest/1634462-opened.md)
- [HEADERS_RECEIVED](webkitjs/xmlhttprequest/1632988-headers_received.md)
- [LOADING](webkitjs/xmlhttprequest/1630055-loading.md)
- [DONE](webkitjs/xmlhttprequest/1630343-done.md)

## Relationships

### Inherits From

- [EventListenerObject](tvmljs/eventlistenerobject.md)
- [XMLHttpRequestEventTarget](webkitjs/xmlhttprequesteventtarget.md)

## See Also

### Data Storage and Retrieval

- [Binding JSON data to TVML documents](tvmljs/binding_json_data_to_tvml_documents.md)
- [DataItem](tvmljs/dataitem.md)
- [Storage](tvmljs/storage.md)
- [DataSource](tvmljs/datasource.md)
- [LoadIndexesRequest](tvmljs/loadindexesrequest.md)
