Module org.htmlunit

Class XMLHttpRequest

java.lang.Object
org.htmlunit.corejs.javascript.SlotMapOwner<org.htmlunit.corejs.javascript.Scriptable>
org.htmlunit.corejs.javascript.ScriptableObject
All Implemented Interfaces:
Serializable, Cloneable, org.htmlunit.corejs.javascript.ConstProperties<org.htmlunit.corejs.javascript.Scriptable>, org.htmlunit.corejs.javascript.debug.DebuggableObject, org.htmlunit.corejs.javascript.PropHolder<org.htmlunit.corejs.javascript.Scriptable>, org.htmlunit.corejs.javascript.Scriptable, org.htmlunit.corejs.javascript.SymbolScriptable

public class XMLHttpRequest extends XMLHttpRequestEventTarget
JavaScript host object for XMLHttpRequest.
Author:
Daniel Gredler, Marc Guillemot, Ahmed Ashour, Stuart Begg, Ronald Brill, Sebastian Cato, Frank Danek, Jake Cobb, Thorsten Wendelmuth, Lai Quang Duong, Sven Strickroth
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.htmlunit.corejs.javascript.ScriptableObject

    org.htmlunit.corejs.javascript.ScriptableObject.DescriptorInfo, org.htmlunit.corejs.javascript.ScriptableObject.KeyComparator, org.htmlunit.corejs.javascript.ScriptableObject.LambdaGetterFunction, org.htmlunit.corejs.javascript.ScriptableObject.LambdaSetterFunction
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    All the data has been received; the complete data is available in responseBody and responseText.
    static final int
    The send() method has been called, but the status and headers are not yet available.
    static final int
    Some data has been received.
    static final int
    The object has been created, but the send() method has not been called.
    static final int
    The object has been created, but not initialized (the open() method has not been called).

    Fields inherited from class org.htmlunit.corejs.javascript.ScriptableObject

    CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST

    Fields inherited from class org.htmlunit.corejs.javascript.SlotMapOwner

    isSealed

    Fields inherited from interface org.htmlunit.corejs.javascript.Scriptable

    NOT_FOUND
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Cancels the current HTTP request.
    Returns all the HTTP response headers as a string.
    org.htmlunit.corejs.javascript.Function
    Returns the event handler that fires on ready state change.
    int
    Returns the current state of the HTTP request.
    Returns the response body as an ArrayBuffer, Blob, Document, JavaScript object, or DOMString, depending on the value of the responseType property.
    Returns the value of the specified HTTP response header.
    Returns the response body as a string.
    Returns the responseType property.
    Returns a DOM-compatible document object version of the data retrieved from the server.
    int
    Returns the numeric HTTP status code returned by the server (e.g. 404 for "Not Found" or 200 for "OK").
    Returns the HTTP status message accompanying the status code (e.g.
    int
    Returns the number of milliseconds a request can take before automatically being terminated.
    Returns the upload property.
    boolean
    Returns the withCredentials property.
    void
    Creates an instance of this object.
    void
    open(String method, Object urlParam, Object asyncParam, Object user, Object password)
    Initializes the request by specifying the destination URL, method, and other optional attributes.
    void
    Overrides the MIME type returned by the server.
    void
    send(Object content)
    Sends the request to the server with the specified content as the request body.
    void
    setOnreadystatechange(org.htmlunit.corejs.javascript.Function readyStateChangeHandler)
    Sets the event handler that fires on ready state change.
    void
    Sets the specified header to the specified value.
    void
    setResponseType(String responseType)
    Sets the responseType property.
    void
    setTimeout(int timeout)
    Sets the number of milliseconds a request can take before automatically being terminated.
    void
    setWithCredentials(boolean withCredentials)
    Sets the withCredentials property.

    Methods inherited from class org.htmlunit.corejs.javascript.ScriptableObject

    applyDescriptorToAttributeBitset, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, checkNotSealed, checkPropertyChangeForSlot, checkPropertyChangeForSlot, checkPropertyDefinition, checkPropertyDefinition, checkSlotRemoval, defineBuiltinProperty, defineBuiltinProperty, defineBuiltInProperty, defineBuiltInProperty, defineBuiltInProperty, defineBuiltInProperty, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineOwnProperty, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, delete, delete, deleteProperty, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, ensureScriptableObjectButNotSymbol, ensureSymbolScriptable, ensureType, get, get, getAllIds, getAncestor, getArrayPrototype, getClassPrototype, getClassPrototype, getDefaultValue, getExternalArrayData, getExternalArrayLength, getFunctionPrototype, getGeneratorFunctionPrototype, getGetterOrSetter, getGetterOrSetter, getObjectPrototype, getOwnPropertyDescriptor, getParentScope, getProperty, getProperty, getProperty, getProperty, getProperty, getPropertyIds, getPrototype, getSuperProperty, getSuperProperty, getSuperProperty, getThis, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, getTypeOf, hasProperty, hasProperty, hasProperty, hasProperty, isAccessorDescriptor, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGenericDescriptor, isGetterOrSetter, isGetterOrSetter, isTrue, preventExtensions, put, put, putConst, putConstProperty, putConstProperty, putOwnProperty, putOwnProperty, putOwnProperty, putProperty, putProperty, putProperty, putProperty, putSuperProperty, putSuperProperty, putSuperProperty, querySlot, redefineProperty, redefineProperty, sameValue, sealObject, setCommonDescriptorProperties, setExternalArrayData, setGetterOrSetter, setParentScope, setPrototype, size

    Methods inherited from class org.htmlunit.corejs.javascript.SlotMapOwner

    associateValue, checkNotSealed, copyAssociatedValue, createSlotMap, defineProperty, defineProperty, get, getAssociatedValue, getAttributes, getAttributes, getAttributes, getAttributes, getAttributes, getIds, has, has, isSealed, readMaps, setAttributes, setAttributes, setAttributes, setAttributes, setAttributes, writeMaps

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.htmlunit.corejs.javascript.Scriptable

    get, getIds, has, has

    Methods inherited from interface org.htmlunit.corejs.javascript.SymbolScriptable

    get, has
  • Field Details

    • UNSENT

      public static final int UNSENT
      The object has been created, but not initialized (the open() method has not been called).
      See Also:
    • OPENED

      public static final int OPENED
      The object has been created, but the send() method has not been called.
      See Also:
    • HEADERS_RECEIVED

      public static final int HEADERS_RECEIVED
      The send() method has been called, but the status and headers are not yet available.
      See Also:
    • LOADING

      public static final int LOADING
      Some data has been received.
      See Also:
    • DONE

      public static final int DONE
      All the data has been received; the complete data is available in responseBody and responseText.
      See Also:
  • Constructor Details

    • XMLHttpRequest

      public XMLHttpRequest()
      Creates a new instance.
  • Method Details

    • jsConstructor

      public void jsConstructor()
      Creates an instance of this object.
      Overrides:
      jsConstructor in class XMLHttpRequestEventTarget
    • getReadyState

      public int getReadyState()
      Returns the current state of the HTTP request. The possible values are:
      • 0 = unsent
      • 1 = opened
      • 2 = headers_received
      • 3 = loading
      • 4 = done
      Returns:
      the current state of the HTTP request
    • getResponseType

      public String getResponseType()
      Returns the responseType property.
      Returns:
      the responseType property
    • setResponseType

      public void setResponseType(String responseType)
      Sets the responseType property.
      Parameters:
      responseType - the responseType property
    • getResponse

      public Object getResponse()
      Returns the response body as an ArrayBuffer, Blob, Document, JavaScript object, or DOMString, depending on the value of the responseType property.
      Returns:
      the response body
    • getResponseText

      public String getResponseText()
      Returns the response body as a string.
      Returns:
      a string version of the data retrieved from the server
    • getResponseXML

      public Object getResponseXML()
      Returns a DOM-compatible document object version of the data retrieved from the server.
      Returns:
      a DOM-compatible document object, or null
    • getStatus

      public int getStatus()
      Returns the numeric HTTP status code returned by the server (e.g. 404 for "Not Found" or 200 for "OK").
      Returns:
      the numeric HTTP status code
    • getStatusText

      public String getStatusText()
      Returns the HTTP status message accompanying the status code (e.g. "Not Found" or "OK").
      Returns:
      the HTTP status message
    • abort

      public void abort()
      Cancels the current HTTP request.
    • getAllResponseHeaders

      public String getAllResponseHeaders()
      Returns all the HTTP response headers as a string.
      Returns:
      all response header names and values as a string
    • getResponseHeader

      public String getResponseHeader(String headerName)
      Returns the value of the specified HTTP response header.
      Parameters:
      headerName - the case-insensitive name of the header to retrieve
      Returns:
      the value of the specified HTTP header, or null if not found
    • open

      public void open(String method, Object urlParam, Object asyncParam, Object user, Object password)
      Initializes the request by specifying the destination URL, method, and other optional attributes.
      Parameters:
      method - the HTTP method to use (e.g. GET, POST)
      urlParam - the URL to send the request to
      asyncParam - whether to send the request asynchronously; defaults to true
      user - the username to use for authentication, if required
      password - the password to use for authentication, if required
    • send

      public void send(Object content)
      Sends the request to the server with the specified content as the request body.
      Parameters:
      content - the body of the message being sent with the request
    • setRequestHeader

      public void setRequestHeader(String name, String value)
      Sets the specified header to the specified value. The open() method must be called before this method, or an error will occur.
      Parameters:
      name - the name of the header to set
      value - the value of the header to set
    • overrideMimeType

      public void overrideMimeType(String mimeType)
      Overrides the MIME type returned by the server. This must be called before send(). This may be used, for example, to force a stream to be treated and parsed as text/xml, even if the server does not report it as such.
      Parameters:
      mimeType - the MIME type to use instead of the one returned by the server
    • isWithCredentials

      public boolean isWithCredentials()
      Returns the withCredentials property.
      Returns:
      the withCredentials property
    • setWithCredentials

      public void setWithCredentials(boolean withCredentials)
      Sets the withCredentials property.
      Parameters:
      withCredentials - the withCredentials property
    • getUpload

      public XMLHttpRequestUpload getUpload()
      Returns the upload property.
      Returns:
      the upload property
    • getOnreadystatechange

      public org.htmlunit.corejs.javascript.Function getOnreadystatechange()
      Returns the event handler that fires on ready state change.
      Overrides:
      getOnreadystatechange in class XMLHttpRequestEventTarget
      Returns:
      the event handler that fires on ready state change
    • setOnreadystatechange

      public void setOnreadystatechange(org.htmlunit.corejs.javascript.Function readyStateChangeHandler)
      Sets the event handler that fires on ready state change.
      Overrides:
      setOnreadystatechange in class XMLHttpRequestEventTarget
      Parameters:
      readyStateChangeHandler - the event handler that fires on ready state change
    • getTimeout

      public int getTimeout()
      Returns the number of milliseconds a request can take before automatically being terminated. A value of 0 means there is no timeout.
      Returns:
      the timeout in milliseconds
    • setTimeout

      public void setTimeout(int timeout)
      Sets the number of milliseconds a request can take before automatically being terminated.
      Parameters:
      timeout - the timeout in milliseconds