request
具有属性的对象,这些属性控制库和web服务器之间通信的各个方面。
属性
httpsDomains:已知支持https的域名后缀列表。当应用程序不在http上运行时,这将自动升级向这些域发出的请求,以使用https而不是http。请注意,端口号不应该包含在要匹配的域后缀中。
如果没有httpsDomains列表存在,API使用https重定向所有调用。如果该列表存在,并且所需http资源的域没有列出,则API将按照代码中指定的方式发送URL。同样,如果该列表存在,并且其中列出了所需http资源的域,该API将向该资源发送https请求。
默认情况下,该列表包括以下域名后缀:arcgis.com
、arcgisonline.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/
来源:开发之家
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论