InterfaceIRequestOptions

请求选项。

interface IRequestOptions {
    baseURL?: string;
    beforeSend?: ((opts?: IRequestOptions) => void | IRequestOptions);
    beforeXhrSend?: ((xhr: XMLHttpRequest) => void);
    data?: string | object;
    extra?: unknown;
    headers?: object;
    method?: RequestMethod;
    onDownloadProgress?: ((evt: ProgressEvent<EventTarget>) => void);
    onUploadProgress?: ((evt: ProgressEvent<EventTarget>) => void);
    params?: string | object;
    password?: string;
    preventCaching?: boolean;
    receiveTaskId?: ((id: number) => void);
    requestType?: RequestType;
    responseType?: ResponseType;
    timeout?: number;
    username?: string;
    withCredentials?: boolean;
}

Properties

baseURL?: string

基础 URL。

beforeSend?: ((opts?: IRequestOptions) => void | IRequestOptions)

发送请求前执行的操作。

beforeXhrSend?: ((xhr: XMLHttpRequest) => void)

调用 XMLHttpRequest 对象的 send 方法前执行的操作。

data?: string | object

请求体数据。

extra?: unknown

额外的选项。

headers?: object

自定义请求头。

method?: RequestMethod

请求方法,get、post、put 或 delete,默认为 get。

onDownloadProgress?: ((evt: ProgressEvent<EventTarget>) => void)

下载进度变化时触发的回调,仅在 XMLHttpRequest 请求方式下有效。

onUploadProgress?: ((evt: ProgressEvent<EventTarget>) => void)

上传进度变化时触发的回调,仅在 XMLHttpRequest 请求方式下有效。

params?: string | object

URL 参数。

password?: string

认证密码,仅在 XMLHttpRequest 请求方式下有效。

preventCaching?: boolean

是否在 URL 中增加时间戳参数避免缓存。

receiveTaskId?: ((id: number) => void)

接收请求任务编号的函数,该编号可用于中断请求。

requestType?: RequestType

请求方式,form 或 json。POST 或 PUT 时有效,默认为 form。

responseType?: ResponseType

响应格式,json、xml、text 或 unknown,默认为 json。unknown 表示不解析响应数据。

timeout?: number

超时时间。

username?: string

认证用户名,仅在 XMLHttpRequest 请求方式下有效。

withCredentials?: boolean

跨域请求时是否提供凭据(cookie)信息,仅在 XMLHttpRequest 请求方式下有效。