request

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

属性

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

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

默认情况下,该列表包括以下域名后缀:arcgis.comarcgisonline.com

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


const featureLayerUrl = "http://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer/0";
esriConfig.request.interceptors.push({
  urls: featureLayerUrl,
  before: function(params) {
    if (params.requestOptions.query.maxAllowableOffset) {
      params.requestOptions.query.maxAllowableOffset = 0;
    }
  },
  after: function(response) {
    if (!response.ssl) {
      response.ssl = true;
    }
  }
});

maxUrlLength:HTTP GET请求的URL中允许的最大字符数。如果超过这个限制,将使用HTTP POST方法。默认值是2000。

proxyRules:代理规则为具有相同URL前缀的一组资源定义代理。在使用esriRequest时,如果目标URL与规则匹配,则请求将被发送到指定的代理。与其直接填充这个数组,不如使用urlutil . addproxyrule()方法。规则对象具有以下属性:proxyUrl :代理的URL。urlPrefix:需要通过特定代理访问的资源的URL前缀。

proxyUrl :应用程序的资源代理。当库与托管在与您的应用程序托管的域不同的域上的web服务器通信时,将使用它。默认值null。具有一下的属性:

timeout:请求等待服务器响应的毫秒数。如果服务器在此时间到期前没有响应,则认为请求遇到了错误。默认值为60000。

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

useIdentity:指示esri/request是否将从IdentityManager请求凭据。默认值为true。

库是否使用代理取决于请求的类型,服务器是否支持CORS,应用程序是否运行在旧版本的浏览器上等等。为了保持简单,建议您始终为应用程序配置一个资源代理。您可以从这个GitHub下载资源代理。

版权声明:
作者:Gomo
链接:https://www.develophm.com/index.php/request/535/
来源:开发之家
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>