利用axios框架进行数据传输

whaaaat
发布于 2024-4-7 13:47
浏览
1收藏

5.数据上传到服务器

使用HTTP网络请求上传数据到MYSQL数据库中,并封装HTTP请求

1).在module.json5文件中加入网络权限

文件位置:

利用axios框架进行数据传输-鸿蒙开发者社区position1.png

```

“requestPermissions”:[

{

“name”: “ohos.permission.INTERNET”

}

] ,

```

2).导入http

```

import http from ‘@ohos.net.http’;

```

3).书写http请求

例:post请求:

```

let httpRequest = http.createHttp(); //获取HTTP对象

let url = "​​http://somewords.xyz:80/store/login​​" //填写路径

let promise = httpRequest.request(

// 请求url地址

url,

{

// 请求方式

method: http.RequestMethod.POST,

extraData: {

"storeId": this.storeId,

"password": this.storePassword,

},

// 可选,默认为60s

connectTimeout: 60000,

// 可选,默认为60s

readTimeout: 60000,

// 开发者根据自身业务需要添加header字段

header: {

'Content-Type': 'application/json'

}

}).then((data) => {

//回调函数

}).catch((err) => {

console.info('error:' + JSON.stringify(err));

})

```

4).使用axios框架并封装

利用axios框架进行数据传输-鸿蒙开发者社区position2.png

通过这个工具类,我们可以获得axios对象,并配置网络请求的基础路径。后续利用axios发送http请求

```

var _axios: AxiosInstance = null;

export function getAxios() {

if (_axios) {

return _axios

}

return _axios = axios.create({

baseURL: '​​http://jiazixin.xyz:80​​'

});

}

```

5).封装HTTP请求

将不同功能的请求封装在不同的Request类里

利用axios框架进行数据传输-鸿蒙开发者社区Requests.png

以登录功能的POST请求为例:配置好post请求的路径和参数,利用axios进行网络请求

```

import { getAxios } from "../util/HttpUtil"

import { AxiosRequestConfig } from "@ohos/axios"

export namespace LoginRequest {

/**

* 登录请求

* @param storeId

* @param password

* @returns

*/

export function login(storeId, password) {

// 请求url地址

let url = "/store/login"

return getAxios().post(url, {

"storeId": storeId,

"password": password,

})

}

}

```

标签
1
收藏 1
回复
举报
回复
    相关推荐