Taro.request(option)
Initiates an HTTPS request. Read related instructions before use.
Data Parameters
The data ultimately sent to the server must be a String. If the passed data is not a String, it will be converted to the String type according to the following rules:
Data from the
GET
method is converted to a query string (encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...
).Data from the
POST
method withheader['content-type']
beingapplication/json
is serialized into the JSON format.Data from the
POST
method withheader['content-type']
beingapplication/x-www-form-urlencoded
is converted to a query string (encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...
)
Type
<T = any, U = any>(option: Option<U>) => RequestTask<T>
Parameters
Option
Property | Type | Default | Required | Description |
---|---|---|---|---|
url | string | Yes | Developer server API URL | |
data | U | No | Request parameter | |
dataType | "json" | "other" | No | The returned data format | |
header | Record<string, any> | No | Sets request Header. Referer is not available in Header.content-type is application/json by default. | |
method | "OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "TRACE" | "CONNECT" | No | HTTP request method | |
responseType | "text" | "arraybuffer" | No | The response data format | |
jsonp | boolean | false | No | Specify whether to use jsonp to fetch data on the H5 side |
jsonpCache | boolean | false | No | Specifies whether data fetched using jsonp should be cached on the H5 side |
mode | "no-cors" | "cors" | "same-origin" | same-origin | No | Specifies whether cross-domain requests are allowed on the H5 side |
credentials | "same-origin" | "include" | "omit" | omit | No | Specify whether to carry cookies on the H5 side |
cache | "default" | "no-cache" | "reload" | "force-cache" | "only-if-cached" | default | No | Specify the cache mode on the H5 side |
timeout | number | 2000 | No | Specify the request timeout on the H5 side |
retryTimes | number | 2 | No | Specify the number of request retries on the H5 side |
backup | string | string[] | No | Specify the backup requestion for requests on the H5 side | |
dataCheck | () => boolean | No | Specify the data validation function for the request response on the H5 side, and if the result is false, request backup requestion. | |
useStore | boolean | false | No | Specify whether the request on the H5 side uses caching. |
storeCheckKey | string | No | Set the key for the request cache checks on the H5 side | |
storeSign | string | No | Set the request cache signature on the H5 side | |
storeCheck | () => boolean | No | Set the request checksum function on the H5 side, generally not required | |
complete | (res: CallbackResult) => void | No | The callback function used when the API call completed (always executed whether the call succeeds or fails) | |
fail | (res: CallbackResult) => void | No | The callback function for a failed API call | |
success | (res: CallbackResult) => void | No | The callback function for a successful API call |
SuccessCallbackResult
Property | Type | Description |
---|---|---|
data | T | Data returned by the developer server |
header | Record<string, any> | HTTP Response Header returned by the developer server |
statusCode | number | HTTP status code returned by the developer server |
errMsg | string | Call result |
dataType
Valid values of object.dataType
Value | Description |
---|---|
json | The returned data is in the JSON format. Call JSON.parse on the returned data. |
Others | Do not call JSON.parse on the returned data. |
method
Valid values of object.method
Value | Description |
---|---|
OPTIONS | HTTP request OPTIONS |
GET | HTTP request GET |
HEAD | HTTP request HEAD |
POST | HTTP request POST |
PUT | HTTP request PUT |
DELETE | HTTP request DELETE |
TRACE | HTTP request TRACE |
CONNECT | HTTP request CONNECT |
responseType
Valid values of object.responseType
Value | Description |
---|---|
text | The response data is in the text format. |
arraybuffer | The response data is in the ArrayBuffer format. |
cors_mode
Valid values of CORS mode
Value | Description |
---|---|
no-cors | Cross-domain requests will get an opaque response |
cors | Allow cross-domain requests |
same-origin | Requests are always made to the current source |
credentials
Valid values of credentials
Value | Description |
---|---|
include | Always send authentication information such as cookies, HTTP Basic authentication, etc. local to the requested resource domain. |
same-origin | Authentication information such as cookies, HTTP Basic authentication, etc. is only sent if the URL is the same source as the response script. |
omit | No cookies are sent. |
Sample Code
Example 1
Taro.request({
url: 'test.php', // This value for demonstration purposes only is not a real API URL.
data: {
x: '',
y: ''
},
header: {
'content-type': 'application/json' // Default value
},
success: function (res) {
console.log(res.data)
}
})
Example 2
const res = await Taro.request(params)
API Support
API | WeChat Mini-Program | Baidu Smart-Program | Alipay Mini-Program | ByteDance Mini-Program | QQ Mini-Program | H5 | React Native |
---|---|---|---|---|---|---|---|
Taro.request | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |