当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS config.request用法及代码示例


基本信息

以下是所在类或对象的基本信息。

AMD: require(["esri/config"], (esriConfig) => { /* code goes here */ });

ESM: import esriConfig from "@arcgis/core/config";

对象: esri/config

自从:用于 JavaScript 4.0 的 ArcGIS API

用法说明

config.request函数(或属性)的定义如下:

request Object


具有控制库和 Web 服务器之间通信的各个方面的属性的对象。

属性:

类型说明
httpsDomains String[]
可选的

已知支持 https 的域后缀列表。当应用程序不在 http 上运行时,这将自动升级对此类域的请求以使用 https 而不是 http。请注意,端口号不应包含在要匹配的域后缀中。

如果不存在 httpsDomains 列表,API 将使用 https 重定向所有调用。如果该列表存在且未列出所需 http 资源的域,则 API 会发送代码中指定的 URL。同样,如果列表存在并且其中列出了所需 http 资源的域,则 API 会向该资源发送 https 请求。

默认情况下,该列表包括以下域后缀:

  • arcgis.com
  • arcgisonline.com
可选的

自从:4.8

允许开发人员在发送之前或之后修改请求。将使用与请求 URL 匹配的第一个拦截器。

例子:

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;
    }
  }
});
maxUrlLength Number
可选的
默认值:2000

request 发出的 HTTP GET 请求的 URL 中允许的最大字符数。如果超出此限制,将使用 HTTP POST 方法。

proxyRules Object[]
可选的

代理规则为一组具有相同 URL 前缀的资源定义代理。使用 esriRequest 时,如果目标 URL 与规则匹配,则请求将被发送到指定的代理。不要直接填充此数组,而是使用urlUtils.addProxyRule() 方法。规则对象具有以下属性:

规格:
proxyUrl String
可选的

代理的 URL。

urlPrefix String
可选的

需要通过特定代理访问的资源的 URL 前缀。

proxyUrl String
可选的
默认值:空值

应用程序的资源代理。当与托管在与托管应用程序的域不同的域上的 Web 服务器进行通信时,库会使用它。

该库可能会或可能不会使用代理,具体取决于发出的请求类型、服务器是否支持 CORS、应用程序是否在旧版本的浏览器上运行等。

您可以从此 GitHub repo 下载代理。

require(["esri/config"], function(esriConfig) {
  esriConfig.request.proxyUrl = "/proxy/Java/proxy.jsp";
});
timeout Number
可选的
默认值:60000

request 等待服务器响应的毫秒数。如果服务器在此时间到期之前未能响应,则认为请求遇到错误。

trustedServers String[]
可选的

自从:4.9

指示对关联服务器发出的跨源请求是否应包括 cookie 和授权标头等凭据。

require(["esri/config"], function(esriConfig) {
  esriConfig.request.trustedServers.push("[<protocol>//]<hostname>.<domain>[:<port>]");
});
useIdentity Boolean
可选的
默认值:真的

自从:4.5

指示 esri/request 是否将从 IdentityManager 请求凭据。

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 config.request。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。