微信小程序get请求在路径拼接汉字乱码问题
时间: 2023-08-11 12:50:05 浏览: 224
微信小程序get请求封装-携带参数
微信小程序使用 `wx.request` 进行 HTTP 请求时,如果在路径中携带中文等非 ASCII 字符,需要将其进行 URL 编码。可以使用 `encodeURI` 函数或者 `encodeURIComponent` 函数进行编码。
- `encodeURI` 函数用于对整个 URL 进行编码,不包括 `:/?#[]@!$&'()*+,;=` 这些字符。
- `encodeURIComponent` 函数用于对 URL 中的参数进行编码,包括 `:/?#[]@!$&'()*+,;=` 这些字符。
示例代码:
```
const url = 'https://example.com/api?param=' + encodeURIComponent('中文');
wx.request({
url: url,
success: (res) => {
console.log(res);
}
});
```
在服务端接收到请求后,需要对 URL 中的参数进行解码。在 Node.js 中,可以使用 `decodeURIComponent` 函数进行解码,例如:
```
const param = decodeURIComponent(req.query.param);
```
这样就可以避免在微信小程序中进行 HTTP 请求时路径拼接中文出现乱码的问题。
阅读全文