iOS 中的 React Native Fetch API 仅 URL 中的分号未编码

问题描述 投票:0回答:1

所以我在 IOS 应用程序中使用 React Native,并使用 Fetch API 进行网络连接。我的网址是这样的:

https://example.testing.com/filterString=product.code><CODE01;CODE02

并且它通常在我调用 fetch 方法后自动编码。我的应用程序应该如下所示才能从服务器正确获取响应:

https://example.testing.com/filterString=product.code%3E%3CCODE01%3BCODE02

但是却变成了这样:

https://example.testing.com/filterString=product.code%3E%3CEKWED014T;EKWED014

因此它不会仅对网址的分号部分进行编码。

这是我的代码:

const response = await fetch(url, { method, headers });

以下是我如何发现我的网址在发送到服务器后编码不正确:

const responseURL = await response.url
console.log('displayUrl: '+responseURL);
ios react-native url fetch-api encode
1个回答
0
投票

您可以利用

encodeURIComponent
方法来确保您的 url 在 iOS 和 Android 上都正确编码。

 const const baseUrl = 'https://example.testing.com/filterString=';
 const encodedProducts = encodeURIComponent('product.code><CODE01;CODE02');
 const url = baseUrl + encodedProducts;
 console.log(url) //results in https://example.testing.com/filterString=product.code%3E%3CCODE01%3BCODE02
 const response = await fetch(url, { method, headers });
© www.soinside.com 2019 - 2024. All rights reserved.