HarmonyOS 鸿蒙Next previewer 在进行 axios 或者 http 请求无数据返回,模拟器正常
HarmonyOS 鸿蒙Next previewer 在进行 axios 或者 http 请求无数据返回,模拟器正常
环境: M1 、Intel 都出现如下问题
API: API9
问题描述:
- 点击按钮进行发送请求,经常出现拿不到数据,LOG 控制台也没有数据;
- 预览器会频发 crashed,点击 OK 后,页面会出现 Disconnected from the engineClick the Refresh button or open Previewer Log to check for details.
- 也会出现 Loading Failed.Last operation timed out.Click the Refresh button or open Previewer Log to check for details.
猜想:
- 刚开始以为按钮点击 没有触发,将 getData 中添加日志,发现是可以打印的。
- 后面发现 res.data为空。
各种尝试:
- 重启编辑器(DevEco Studio)
- 重启电脑
- 删除 entry 目录下的.preview 目录及 build 目录,重新 build 。
- 重装 DevEco Studio
- 在本机创建一个基于 Nest.js 的服务,模拟器发送请求,后端有收到请求,而模拟器发送请求,后端没有接收到请求
以上办法都进行了尝试,没有任何效果。
代码:
import axios from "@ohos/axios"
@Entry
@Component
struct Index {
@State listData:any={}
getData(){
console.log('33333');
axios.get("http://backend-api-01.newbee.ltd/api/v1/index-infos")
.then(res=>{
this.listData=res.data;
console.log(JSON.stringify(res))
}).catch(err=>{
console.log(err);
})
}
build() {
Scroll(){
Column({space:10}) {
Text(`${JSON.stringify(this.listData)}`)
Button("获取数据").onClick(()=>{
this.getData()
})
}.width('100%')
.height('100%')
}
}
}




更多关于HarmonyOS 鸿蒙Next previewer 在进行 axios 或者 http 请求无数据返回,模拟器正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html
普遍都有问题的,这个已经出现很久了
更多关于HarmonyOS 鸿蒙Next previewer 在进行 axios 或者 http 请求无数据返回,模拟器正常的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next previewer中,使用axios或http请求无数据返回,但模拟器正常,可能是由于previewer的网络配置或环境限制导致的。以下是一些可能的原因和解决方法:
-
网络配置问题:检查previewer的网络配置,确保其能够访问外部网络。如果previewer运行在本地,确保本地网络没有限制。
-
权限问题:确认在Manifest.json文件中已经声明了网络访问权限。例如:
"reqPermissions": [ { "name": "ohos.permission.INTERNET" } ]
-
请求地址问题:确保请求的URL在previewer环境中是可访问的。某些本地地址或内网地址可能在previewer中无法解析。
-
跨域问题:如果请求的API存在跨域问题,确保服务器端已经配置了正确的CORS策略。
-
调试工具:使用开发者工具(如DevEco Studio的日志查看器)查看请求的详细日志,检查是否有错误信息或网络请求失败。
-
模拟器与previewer差异:模拟器与previewer的运行环境可能存在差异,特别是在网络配置和资源访问方面。确保在previewer中复现问题时,使用与模拟器相同的配置。
-
缓存问题:清除previewer的缓存,重新加载应用,确保没有缓存导致的请求异常。
-
版本问题:检查使用的HarmonyOS SDK和previewer版本,确保没有已知的bug或兼容性问题。
如果以上方法无法解决问题,建议检查具体的请求代码和网络环境配置,确保没有遗漏的配置或代码错误。