request
require(["esri/request"], function(esriRequest) { /* code goes here */ });
esri/request
Retrieves data from a remote server or uploads a file.
// request GeoJson data from USGS remote server
var url = "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_hour.geojson";
esriRequest(url, {
responseType: "json"
}).then(function(response){
// The requested data
var geoJson = response.data;
});
Method Overview
Name | Return Type | Summary | Function | |
---|---|---|---|---|
Promise<RequestResponse> | Retrieves data from a remote server or uploads a file from a user's computer. more details | more details | request |
Method Details
- esriRequest(url, options){Promise<RequestResponse>}
Retrieves data from a remote server or uploads a file from a user's computer. If the request returns an Error, the error object will include the details specified in EsriErrorDetails.
Parameters:url StringThe request URL.
options RequestOptionsoptionalThe options specified by the user in the data request. See RequestOptions for available properties.
Returns:Type Description Promise<RequestResponse> Returns a promise that resolves to an object with the RequestResponse specification. If the request returns an Error, the error object will include the details specified in EsriErrorDetails.
Type Definitions
- EsriErrorDetails
The specification of the details object returned in an Error object.
- Properties:
- getHeader getHeader
A function to retrieve headers sent from the server.
httpStatus NumberThe status of the http request.
messageCode StringThe error message code.
messages String[]Additional error message(s).
requestOptions ObjectThe query parameters sent with the http request.
ssl BooleanIndicates if the request required https.
subCode NumberThe error message subcode.
url StringThe URL of the request that returned an error message.
- getHeader(headerName){String}
A function to retrieve headers sent from the server.
Parameter:headerName StringThe name of the header.
Returns:Type Description String The header value. Example:esriRequest(url, options) .then(function(response) { var responseJSON = JSON.stringify(response, null, 2); // prints the content type of the request: 'application/json' console.log("header: ", response.getHeader('Content-Type')); });
- RequestOptions
An object with the following properties that describe the request.
- Properties:
- optionalquery ObjectDefault Value:null
If the request URL points to a web server that requires parameters, specify them here.
optionalresponseType StringDefault Value:jsonResponse format. When this value is
image
theheaders
andtimeout
options are ignored.Possible Values: json | xml | text | blob | array-buffer | document | image
optionalsignal AbortSignalAbortSignal allows for cancelable requests. If canceled, the promise will be rejected with an error named
AbortError
. See also AbortController.Example:
const controller = new AbortController(); const signal = controller.signal; esriRequest(url, { signal }) .then((response) => { // The request went OK }) .catch((err) => { if (err.name === 'AbortError') { console.log('Request aborted'); } else { console.error('Error encountered', err); } }); // Abort requests that are aware of the controller's signal controller.abort();
optionalheaders ObjectHeaders to use for the request. This is an object whose property names are header names. This option is ignored when
responseType = "image"
.optionaltimeout NumberDefault Value:60000Indicates the amount of time in milliseconds to wait for a response from the server. Set to
0
to wait for the response indefinitely. This option is ignored whenresponseType = "image"
.optionalmethod StringDefault Value:autoIndicates if the request should be made using the HTTP POST method. By default, this is determined automatically based on the request size.
Possible Values: auto | post
optionalbody FormData | HTMLFormElement | StringIf uploading a file, specify the form data or element used to submit the file here. If a form element is specified, the parameters of the
query
will be added to the URL. If not specified, then query parameters will only be added to the URL when a GET request is used. If POST is used, then query parameters will be added to the body.optionaluseProxy BooleanDefault Value:falseIndicates the request should use the proxy. By default this is determined automatically based on the domain of the request url.
optionalcacheBust BooleanDefault Value:falseIndicates whether to send an extra query parameter to ensure the server doesn't supply cached values.
optionalauthMode StringDefault Value:autoIndicates if and how requests to ArcGIS Services are authenticated. Only applicable when
esriConfig.request.useIdentity = true
.Known Value Description auto The user will be signed in when a secure resource is requested. anonymous An error will be returned when a secure resource is requested. immediate The user will be signed in before the resource is requested. no-prompt Checks for whether the user is already signed in. If so, no additional prompts display for sign-in.
- RequestResponse
Returns a promise that resolves to an object with the following specification. If the request returns an Error, the error object will include the details specified in EsriErrorDetails.
- Properties:
- optionaldata *
The requested data. Should match the
responseType
with the data return type. Possible types are: json, xml, text, blob, array-buffer, document, and image.optionalrequestOptions RequestOptionsThe options specified by the user in the data request. See RequestOptions for available properties.
optionalssl BooleanIndicates if the request required https.
optionalurl StringThe URL used to request the data.
optionalgetHeader getHeaderMethod for getting a header sent from the server.
Example:// request GeoJson data from USGS remote server var url = "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_hour.geojson"; esriRequest(url, { responseType: "json" }).then(function(response){ // The requested data var geoJson = response.data; });