-
RequestInterceptor
指定用於攔截和修改通過 esriRequest 發出的請求的對象。
-
類型 說明 可選的 在請求發送後但在返回給調用者之前對響應進行更改。
可選的 在發送請求之前更改請求 URL 或選項。返回值將用作響應數據,這將阻止發送請求。
error ErrorCallback可選的 當請求處理期間發生錯誤時,將使用 Error 對象調用此函數,以提供有關發生情況的詳細信息。例如,這可用於記錄層或服務發生的特定錯誤。
headers Object可選的 將標題設置或添加到
requestOptions.headers
中。另請參閱:requestOptions。query Object可選的 將查詢參數設置或添加到
requestOptions.query
中。另請參閱:requestOptions。responseData Object可選的 硬編碼 response 。不會發送請求。這被解析為響應
data
。可選的 指定應用於攔截器的 URL。如果該值為
String
類型,則如果請求 URL 以該字符串開頭,則匹配。如果為 null 或未定義,則攔截器將應用於所有相關請求。
屬性:
例子:
const featureLayerUrl = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer/0"; esriConfig.request.interceptors.push({ // set the `urls` property to the URL of the FeatureLayer so that this // interceptor only applies to requests made to the FeatureLayer URL urls: featureLayerUrl, // use the BeforeInterceptorCallback to check if the query of the // FeatureLayer has a maxAllowableOffset property set. // if so, then set the maxAllowableOffset to 0 before: function(params) { if (params.requestOptions.query.maxAllowableOffset) { params.requestOptions.query.maxAllowableOffset = 0; } }, // use the AfterInterceptorCallback to check if `ssl` is set to 'true' // on the response to the request, if it's set to 'false', change // the value to 'true' before returning the response after: function(response) { if (!response.ssl) { response.ssl = true; } } });
const featureLayer = new FeatureLayer({ url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer/3" }); esriConfig.request.interceptors.push({ urls: featureLayer.url, // set the error function and check if an error occurs, and if it's name is "AbortError" // if so, display a useful error about the layer, if not, ignore the error error: function(error) { if (error.name == "AbortError") { // we're only interested in aborted request errors console.error(`An error happened with layer ${featureLayer.title}`, error); } return; } });
-
基本信息
以下是所在類或對象的基本信息。
AMD:
require(["esri/config"], (esriConfig) => { /* code goes here */ });
ESM:
import esriConfig from "@arcgis/core/config";
對象:
esri/config
自從:用於 JavaScript 4.0 的 ArcGIS API
用法說明
config.RequestInterceptor
函數(或屬性)的定義如下:
相關用法
- JavaScript ArcGIS config.BeforeInterceptorCallback用法及代碼示例
- JavaScript ArcGIS config.assetsPath用法及代碼示例
- JavaScript ArcGIS config.workers用法及代碼示例
- JavaScript ArcGIS config.fontsUrl用法及代碼示例
- JavaScript ArcGIS config.geometryServiceUrl用法及代碼示例
- JavaScript ArcGIS config.request用法及代碼示例
- JavaScript ArcGIS config.routeServiceUrl用法及代碼示例
- JavaScript ArcGIS config.geoRSSServiceUrl用法及代碼示例
- JavaScript ArcGIS config.LogInterceptor用法及代碼示例
- JavaScript ArcGIS config.kmlServiceUrl用法及代碼示例
- JavaScript ArcGIS config.portalUrl用法及代碼示例
- JavaScript ArcGIS config.AfterInterceptorCallback用法及代碼示例
- JavaScript ArcGIS config用法及代碼示例
- JavaScript ArcGIS coordinateFormatter用法及代碼示例
- JavaScript ArcGIS colorUtils.getBackgroundColorTheme用法及代碼示例
- JavaScript ArcGIS colorRamps.names用法及代碼示例
- JavaScript ArcGIS color.getSchemesByTag用法及代碼示例
- JavaScript ArcGIS color.createPCTrueColorRenderer用法及代碼示例
- JavaScript ArcGIS color.createVisualVariable用法及代碼示例
- JavaScript ArcGIS colorUtils.getBackgroundColor用法及代碼示例
- JavaScript ArcGIS color.getSchemes用法及代碼示例
- JavaScript ArcGIS color.createContinuousRenderer用法及代碼示例
- JavaScript ArcGIS colorRamps.byTag用法及代碼示例
- JavaScript ArcGIS colorRamps.all用法及代碼示例
- JavaScript ArcGIS color.createPCContinuousRenderer用法及代碼示例
注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 config.RequestInterceptor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。