HarmonyOS 鸿蒙Next url无法传+号

发布于 1周前 作者 zlyuanteng 来自 鸿蒙OS

HarmonyOS 鸿蒙Next url无法传+号

httpRequestPost(url) url += ‘?phone=’ + Phone + ‘&zone=+86’ ;  传递到服务器+ 号变空格

3 回复

这里看你的入参 url += '?phone=' + Phone + '&zone=+86' ; 传入方式 并没有问题 请参考以下代码demo实例:

let Phone = '11111111111'

let urlParams = '?phone=' + Phone + '&zone=+86' ;

let decodeURL = decodeURIComponent(urlParams);

let paramsObject = new Url.URLParams(urlParams);

paramsObject.get("phone")

console.log('phone:'+ paramsObject.get("phone"))

console.log('zone:'+ paramsObject.get("zone"))

输出如下 

06-24 13:47:01.215 15457-15457 A03d00/JSAPP com.example.demo0003 I phone:11111111111 

06-24 13:47:01.215 15457-15457 A03d00/JSAPP com.example.demo0003 I zone: 86

HTTP为了避免歧义,一些字符传入后台需要做转义,例如:

"       -    %22

#       -    %23

%       -    %25

&       -    %26

+       -    %2B

所以要想使用+  需要使用%2B 代替 +

更多关于HarmonyOS 鸿蒙Next url无法传+号的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


特殊符号一般都需要转义;+换成%2B试试

针对HarmonyOS 鸿蒙Next中URL无法传“+”号的问题,这通常是由于特殊符号在URL中需要转义处理。在URL中,“+”号通常被解释为空格,因此需要进行转义以确保其正确传输。

解决方法是将“+”号替换为其对应的URL编码“%2B”。例如,如果你的原始URL是http://example.com?phone=123456&zone=+86,你应该将其修改为http://example.com?phone=123456&zone=%2B86。这样,“+”号就能被正确传输到服务器,而不会被解释为空格。

此外,如果你在编写代码时遇到这个问题,确保在构建URL时对所有特殊字符进行适当的转义处理。大多数编程语言都提供了用于URL编码的函数或库,你可以利用这些工具来避免手动转义带来的错误。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。他们将能提供更具体的指导和解决方案。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!