request

AMD: require(["geoscene/request"], (geosceneRequest) => { /* code goes here */ });
ESM: import geosceneRequest from "@geoscene/core/request";
函数: geoscene/request
起始版本:GeoScene API 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;
});

方法概述

名称 返回类型 描述 函数
Promise<RequestResponse>更多详情

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

更多详情request

方法详细信息

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

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

参数:
url String

请求 URL。

optional

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

返回:
类型 说明
Promise<RequestResponse> 返回解析为具有 RequestResponse 规范的对象的 promise。如果请求返回错误,则错误对象将包含 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 服务的请求进行身份验证。仅当 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.reque st中设置的 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 允许可取消的请求。如果取消,promise 将被拒绝,并显示名为 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 请求是否应使用凭据。如果应用程序需要凭据,也可以将值域推送到 config trustedServers。有关 withCredentials 的更多信息,请参阅此文档

RequestResponse

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

属性:
data *
optional

请求的数据。应与 responseType 数据返回类型匹配。可能的类型包括:jsontextarray-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;
});

您的浏览器不再受支持。请升级浏览器以获得最佳体验。有关更多详细信息,请参阅我们的 浏览器弃用帖子