HarmonyOS 鸿蒙Next JS卡片无法更新中文和通过监听点击事件后无法发送http请求的问题
HarmonyOS 鸿蒙Next JS卡片无法更新中文和通过监听点击事件后无法发送http请求的问题
开发环境:
API8
SDK版本:ArkTs-3.1.9.7
DevEco 3.1 Canary1
测试环境:
Mate40pro
Harmony3.0
API8
问题描述:
-
进行js卡片开发时,在卡片的ts代码中,更新卡片数据时不支持更新中文数据
若更新中文数据,会抛出以下异常: -
http请求无法发送的:onEvent()方法监听到卡片点击事件后,开始进行http请求操作,通过查看console.info日志打印发现无法获取到请求响应,且控制台有错误日志
注:网络权限已经声明:
代码:
function getWeatherInfor(){
//获取网络请求
let httpRequest = http.createHttp();
// 用于订阅http响应头,此接口会比request请求先返回。可以根据业务需要订阅此消息
// 从API 8开始,使用on('headersReceive', Callback)替代on('headerReceive', AsyncCallback)。 8+
httpRequest.on('headersReceive', (header) => {
console.info('header: ' + JSON.stringify(header));
});
console.info("KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK")
httpRequest.request(
// 填写http请求的url地址,可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定
"https://restapi.amap.com/v3/weather/weatherInfo",
{
method: http.RequestMethod.GET, // 可选,默认为http.RequestMethod.GET
// 开发者根据自身业务需要添加header字段
header: {
'Content-Type': 'application/json'
},
// 当使用POST请求时此字段用于传递内容
extraData: {
"key": "77c2c6353559aa75ca8aa4711fbaa6c2",
"city": "110000",
"extensions": "all"
},
connectTimeout: 60000, // 可选,默认为60s
readTimeout: 60000, // 可选,默认为60s
}, (error, data) => {
if (error) {
console.info("onUrlLoadIntercept image error code: " + error.code + ", msg: " + error.message)
} else {
let code = data.responseCode
let result = data.result as string
console.info("onUrlLoadIntercept image code=" + code+" result="+result)
if (ResponseCode.ResponseCode.OK == code) {
} else {
console.log("onUrlLoadIntercept image response code: " + code);
}
}
});
}
控制台打印报错:
更多关于HarmonyOS 鸿蒙Next JS卡片无法更新中文和通过监听点击事件后无法发送http请求的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
第一个问题这边已经修复了,等之后手机设备的系统更新应该就可以了的哈!
更多关于HarmonyOS 鸿蒙Next JS卡片无法更新中文和通过监听点击事件后无法发送http请求的问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
你目前是用的java、js混合开发卡片还是arkts、js混合开发卡片呀。如果是java的话可以参照这个例子 https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/HarmonyOS-JSMovieCard 如果是后者,好像真没看到有官方的例子,
那么网络请求没反应的问题呢?
用arkts开发目前问题还是太多,很多功能不完善
针对您提到的HarmonyOS(鸿蒙)中Next JS卡片无法更新中文以及通过监听点击事件后无法发送HTTP请求的问题,以下是可能的解决方案:
-
中文更新问题:
- 确保您的Next JS卡片代码中正确使用了Unicode编码或指定的中文字符集。
- 检查鸿蒙系统对卡片内容的解析是否存在对中文的特殊处理或限制,尝试使用不同的字符编码方式。
- 验证卡片更新逻辑是否正确处理了中文字符串的传递和渲染。
-
点击事件后无法发送HTTP请求:
- 检查网络权限是否已正确配置在鸿蒙应用的manifest文件中。
- 确认HTTP请求的URL和参数格式是否正确,特别是中文参数是否进行了正确的编码。
- 验证点击事件监听器中的请求发送逻辑是否存在错误,如请求库的使用不当或异常处理缺失。
- 检查鸿蒙系统是否有对HTTP请求的安全策略限制,如CORS(跨源资源共享)策略。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html,