# Data Request > ![icon-note.gif](public_sys-resources/icon-note.gif) **Note:** > - The APIs of this module are no longer maintained since API version 6. It is recommended that you use [`@ohos.net.http`](js-apis-http.md) instead. > > - The initial APIs of this module are supported since API version 3. Newly added APIs will be marked with a superscript to indicate their earliest API version. ## Modules to Import ``` import fetch from '@system.fetch'; ``` ## fetch.fetch fetch(Object): void Obtains data through a network. **Required permissions:** ohos.permission.INTERNET **System capability**: SystemCapability.Communication.NetStack **Parameters** | Name | Type | Mandatory | Description | | -------- | -------- | -------- | -------- | | url | string | Yes | Resource URL. | | data | string \| Object | No | Request parameter, which can be a string or a JSON object. For details, see Relationship between data and Content-Type. | | header | Object | No | Request header. | | method | string | No | Request method. The default value is **GET**. The value can be **OPTIONS**, **GET**, **HEAD**, **POST**, **PUT**, **DELETE **or **TRACE**. | | responseType | string | No | Response type. The return type can be text or JSON. By default, the return type is determined based on **Content-Type** in the header returned by the server. For details, see return values of the success callback. | | success | Function | No | Called when the network data is obtained successfully. | | fail | Function | No | Called when the network data fails to be obtained. | | complete | Function | No | Called when the execution is complete. | **Table1** Relationship between data and Content-Type | data | Content-Type | Description | | -------- | -------- | -------- | | string | Not set | The default value of Content-Type is text/plain, and the value of data is used as the request body. | | string | Any type | The value of data is used as the request body. | | Object | Not set | The default value of **Content-Type** is **application/x-www-form-urlencoded**. The **data** value is encoded based on the URL rule and appended in the request body. | | Object | application/x-www-form-urlencoded | The value of data is encoded based on the URL rule and is used as the request body. | The following values will be returned when data is successfully obtained. | Parameter | Type | Description | | -------- | -------- | -------- | | code | number | Server status code. | | data | string \| Object | The type of the returned data is determined by **responseType**. For details, see Relationship between responseType and data returned by the success function. | | headers | Object | All headers in the response from the server. | **Table2** Relationship between responseType and data returned by the success function | responseType | data | Description | | -------- | -------- | -------- | | N/A | string | When the type in the header returned by the server is **text/\***, **application/json**, **application/javascript**, or **application/xml**, the value is the text content. | | text | string | Text content. | | json | Object | A JSON object. | **Example** ``` export default { data: { responseData: 'NA', url: "test_url", }, fetch: function () { var that = this; fetch.fetch({ url: that.url, success: function(response) { console.info("fetch success"); that.responseData = JSON.stringify(response); }, fail: function() { console.info("fetch fail"); } }); } } ``` > ![icon-note.gif](public_sys-resources/icon-note.gif) **Note:** > HTTPS is supported by default. To support HTTP, you need to add **"network"** to the **config.json** file, and set the attribute **"cleartextTraffic"** to **true**. > > ``` > { > "deviceConfig": { > "default": { > "network": { > "cleartextTraffic": true > } > ... > } > } > ... > } > ```