//需要导入http头文件
import http from '@ohos.net.http'
//请求地址
url: string = 'http://apis.juhe.cn/simpleWeather/query'
Text(this.message)
.maxFontSize(50)
.minFontSize(10)
.fontWeight(FontWeight.Bold)
.onClick(() => {
console.log('======请求开始')
let req = http.createHttp()
req.request(this.url,{
//请求方式
method: http.RequestMethod.POST,
//请求参数
extraData:{
'city':'北京',
'key':this.reqKey
}
})
//结果回调
.then((value: http.HttpResponse) => {
console.log('======请求结束')
this.message = JSON.stringify(value.result)
})
})
还有一种写法,请求结果在第三个参数重回调回来
Text(this.message)
.maxFontSize(50)
.minFontSize(10)
.fontWeight(FontWeight.Bold)
.onClick(() => {
console.log('======请求开始')
let req = http.createHttp()
req.request(this.url,{
method: http.RequestMethod.POST,
extraData:{
'city':'北京',
'key':this.reqKey
}
//请求结果回调
},(error,data) => {
console.log('======请求结束')
this.message = JSON.stringify(data.result)
})
})
过程还是比较好理解的,
????????????2.1 第一个参数是请求的url,
? ? ? ? ? ??2.2 第二个是请求的配置,可以配置请求是post、get、delete等,还有请求的参数等,
? ? ? ? ? ??2.3 第三个参数是请求结果的回调,回调的data是?http.HttpResponse类型
注意,需要在module.json5文件中配置网络请求权限。
如果需要中断网络请求可以
req.destroy()