request

AMD: require(["geoscene/request"], (geosceneRequest) => { /* code goes here */ });
ESM: import geosceneRequest from "@geoscene/core/request";
函数: geoscene/request
起始版本:GeoScene Maps SDK for JavaScript 4.0

从远程服务器检索数据或上传文件。

示例
// request GeoJson data from USGS remote server
let url = "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_hour.geojson";

geosceneRequest(url, {
  responseType: "json"
}).then(function(response){
  // The requested data
  let geoJson = response.data;
});

方法概述

名称 返回值类值 描述 Function
Promise<RequestResponse>

从远程服务器检索数据或从用户计算机上传文件。

更多详情
request

方法详细说明

geosceneRequest(url, options){Promise<RequestResponse>}

从远程服务器检索数据或从用户计算机上传文件。如果请求返回 Error,则错误对象将包含 GeoSceneErrorDetails 中指定的详细信息。

参数
url String

请求 URL。

optional

用户在数据请求中指定的选项。有关可用属性,请参阅 RequestOptions

返回
类型 描述
Promise<RequestResponse> 返回解析为具有 RequestResponse 规范的对象的 promise。如果请求返回 Error,则错误对象将包含 GeoSceneErrorDetails 中指定的详细信息。

类型定义

GeoSceneErrorDetails

Error 对象中返回的详细信息对象的规范

属性
getHeader getHeader

用于检索从服务器发送的标题的函数。

httpStatus Number

http 请求的状态。

messageCode String

错误消息代码。

messages String[]

其他错误消息。

如果服务器返回 JSON 错误,则为原始错误对象;如果服务器未返回 200 响应代码,则为响应文本。

requestOptions Object

随 http 请求一起发送的查询参数。

指示请求是否需要 https。

subCode Number

错误消息子代码。

url String

返回错误消息的请求的 URL。

getHeader(headerName){String}

用于检索从服务器发送的标题的函数。默认情况下,CORS 仅允许读取几个响应标题,请参阅:Access-Control-Expose-Headers.

参数
headerName String

标题的名称。

返回
类型 描述
String 标题值。
示例
geosceneRequest(url, options)
  .then(function(response) {
    // prints the content type of the request: 'application/json'
    console.log("header: ", response.getHeader('Content-Type'));
  });
RequestOptions

具有以下属性 (用于描述请求) 的对象。

属性
authMode String
optional
默认值:auto

指示是否以及如何对 GeoScene Services 的请求进行身份验证。仅在 geosceneConfig.request.useIdentity = true 时适用。

已知值 描述
auto 当请求安全资源时,用户将登录。
anonymous 当请求安全资源时,将返回错误。
immediate 用户将在请求资源之前登录。
no-prompt 检查用户是否已登录。如果是这样,则不会显示其他登录提示。

可能值"auto"|"anonymous"|"immediate"|"no-prompt"

optional

如果上传文件,可在此处指定用于提交文件的表单数据或元素。如果指定,则 query 的参数将添加到 URL 中。

cacheBust Boolean
optional
默认值:false

如果为 true,浏览器将向服务器发送请求,而不是使用浏览器的本地缓存。如果为 false,将使用浏览器的默认缓存处理。

headers Object
optional

用于请求的标题。这是一个属性名称为标题名称的对象。

method String
optional
默认值:auto

指示是否应使用 HTTP DELETE、HEAD、POST 或 PUT 方法发出请求。默认情况下,如果请求大小大于 config.request 中设置的 maxUrlLength 属性,则 HTTP POST 将用于 auto

可能值"auto"|"delete"|"head"|"post"|"put"

query Object
optional
默认值:null

请求的查询参数。如果使用 GET 请求或设置了 body 属性,则查询参数将添加到 URL 中。否则,如果未设置 body 属性,则查询参数将添加到 body 请求参数中,并使用 DELETE、POST 或 PUT 请求。

responseType String
optional
默认值:json

响应格式。

可能值"json"|"text"|"array-buffer"|"blob"|"image"|"native"|"document"|"xml"

optional

AbortSignal 允许可取消的请求。如果取消,则承诺将被拒绝,并返回一个名为 AbortError 的错误。另请参见 AbortController

示例:

const controller = new AbortController();
const signal = controller.signal;

geosceneRequest(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();
timeout Number
optional
默认值:60000

指示等待服务器响应的时间(以毫秒为单位)。设置为 0 以无限期等待响应。

useProxy Boolean
optional
默认值:false

指示请求应使用代理。默认情况下,这是根据请求 URL 的域自动确定的。

withCredentials Boolean
optional
默认值:false

指示跨站点 Access-Control 请求是否应使用凭据。如果应用程序需要凭据,也可将域推送到配置 trustedServers。有关 withCredentials 的更多信息,请参阅此文档

RequestResponse

返回解析为具有以下规范的对象的 promise。如果请求返回 Error,则错误对象将包含 GeoSceneErrorDetails 中指定的详细信息。

属性
data *
optional

请求的数据。应将 responseType 与数据返回类型相匹配。可能类型为:Json、text、array-buffer、blob、image、native、documenttextarray-bufferblobimagenativedocumentxml

requestOptions RequestOptions
optional

用户在数据请求中指定的选项。有关可用属性,请参阅 RequestOptions

optional

指示请求是否需要 https。

url String
optional

用于请求数据的 URL。

getHeader getHeader
optional

用于获取从服务器发送的标题的方法。

示例
// request GeoJson data from USGS remote server
let url = "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_hour.geojson";

geosceneRequest(url, {
  responseType: "json"
}).then(function(response){
  // The requested data
  let geoJson = response.data;
});

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息