导读:在本篇文章里,您将掌握鸿蒙开发工具DevEco的基本使用、ArkUI里的基础组件,并通过制作一个简单界面掌握使用
],
{
"name": "权限名1",
"reason": "申请原因",
"usedScene": "使用场景
},
{
"name": "权限名2",
"reason": "申请原因",
"usedScene": "使用场景"
}
],
{
"name": "ohos.permission.INTERNET",
}
]
import { http } from '@kit.NetworkKit';
// 2. 调用createHttp()方法,创建一个HttpRequest对象。
let httpRequest = http.createHttp();
// 3. 调用该对象的request()方法,传入http请求的url地址和可选参数,发起网络请求。
// 总结:参数1为请求路径 参数2是一个对象,用来控制请求的相关配置, 参数3是请求完成的回调函数
httpRequest.request(
// 请求地址
"url",
{
method: http.RequestMethod.POST, // 请求方式,可选,默认为http.RequestMethod.GET
// 开发者根据自身业务需要添加header字段
header: [{
// 例如指定请求体类型
'Content-Type': 'application/json'
}],
// 请求携带的参数。一般情况下:post、put等请求传入对象,get请求传`key=value`形式字符串
extraData: "data to send",
}, (err: BusinessError, data: http.HttpResponse) => {
if (!err) {
// 4. 按照实际业务需要,解析返回结果。
// data.result为HTTP响应内容,可根据业务需要进行解析
console.info('Result:' + JSON.stringify(data.result));
console.info('code:' + JSON.stringify(data.responseCode));
// 5. 当该请求使用完毕时,调用destroy方法主动销毁
httpRequest.destroy();
} else {
console.error('error:' + JSON.stringify(err));
// 5. 当该请求使用完毕时,调用destroy方法主动销毁
httpRequest.destroy();
}
}
);
.onClick(() => {
// 创建请求对象
const httpRequest = http.createHttp()
httpRequest.request('http://ajax.zll.cool/joke/list', {
// 参数
extraData: 'num=3'
},
// 请求完成(不管成功还是失败)都调用的回调函数
(err: BusinessError, data: http.HttpResponse) => {
if (!err) {
// 如果err无值代表请求成功,打印响应体
console.info('Result:' + JSON.stringify(data.result));
// 销毁请求对象
httpRequest.destroy()
}
})
})
JSON.parse(`${data.result}`)
httpRequest.request('http://ajax.zll.cool/user/reg', {
method: http.RequestMethod.POST,
header: [
{ 'Content-Type': 'application/json' }
],
extraData: { username: 'jack' }
},
(err: BusinessError, data: http.HttpResponse) => {
if (!err) {
console.info(JSON.stringify(data.result))
}
httpRequest.destroy()
}
)
const httpRequest = http.createHttp()
httpRequest.request('http://ajax.zll.cool/joke/list', {
extraData: 'num=3'
})
.then((data: http.HttpResponse) => {
// 成功
console.info(JSON.stringify(data.result))
})
.catch((err: BusinessError) => {
// 失败
console.info(err.message)
})
.finally(() => {
// 不管成功失败都销毁请求对象
httpRequest.destroy()
})
// post请求
const httpRequest = http.createHttp()
httpRequest.request('http://ajax.zll.cool/user/reg', {
method: http.RequestMethod.POST,
header: [
{ 'Content-Type': 'application/json' }
],
extraData: { username: 'jack' }
})
.then((data: http.HttpResponse) => {
// 成功
console.info(JSON.stringify(data.result))
})
.catch((err: BusinessError) => {
// 失败
console.info(err.message)
})
.finally(() => {
// 不管成功失败都销毁请求对象
httpRequest.destroy()
})
.onClick(async () => {
const httpRequest = http.createHttp()
// async和await需要自行用try-catch捕捉错误
try {
// 使用await直接赋值
const data: http.HttpResponse = await httpRequest.request('http://ajax.zll.cool/joke/list', {
extraData: 'num=3'
})
console.info(JSON.stringify(data.result))
} catch (err) {
console.info(JSON.stringify(err))
} finally {
httpRequest.destroy()
}
})
axios.get(url, {
params: { 参数 }
})
.then( (res: AxiosResponse) => {
} )
.catch((err: AxiosError) => {
})
// post请求
axios.get(url, { 参数 })
.then( (res: AxiosResponse) => {
} )
.catch((err: AxiosError) => {
})
.then((res: AxiosResponse) => {
console.info(JSON.stringify(res.data))
})
.catch((err: AxiosError) => {
console.info(err.message)
})
原文作者:;如有侵权,请联系管理员删除。