files/en-us/web/api/xmlhttprequest/open/index.md
{{APIRef("XMLHttpRequest API")}} {{AvailableInWorkers("window_and_worker_except_service")}}
The {{domxref("XMLHttpRequest")}} method open()
initializes a newly-created request, or re-initializes an existing one.
[!NOTE] Calling this method for an already active request (one for which
open()has already been called) is the equivalent of calling {{domxref("XMLHttpRequest.abort", "abort()")}}.
open(method, url)
open(method, url, async)
open(method, url, async, user)
open(method, url, async, user, password)
method
"GET", "POST", "PUT", "DELETE",
etc. Ignored for non-HTTP(S) URLs.url
async {{optional_inline}}
: An optional Boolean parameter, defaulting to true, indicating whether
or not to perform the operation asynchronously. If this value is false,
the send() method does not return until the response is received. If
true, notification of a completed transaction is provided using event
listeners. This must be true if the multipart attribute is
true, or an exception will be thrown.
[!NOTE] Synchronous requests on the main thread can be easily disruptive to the user experience and should be avoided; in fact, many browsers have deprecated synchronous XHR support on the main thread entirely. Synchronous requests are permitted in {{domxref("Worker")}}s.
user {{optional_inline}}
null value.password {{optional_inline}}
null value.None ({{jsxref("undefined")}}).
{{Specifications}}
{{Compat}}