GitHub user ghevge closed a discussion: Does anyone knows why in iOS, the 
webview, although is instructed to call an url in which all the "+" signs were 
URL escaped , changes them back to "+" before sending the requests to the 
backend server?

Does anyone knows why in iOS, the webview, although is instructed to call an 
url in which all the "+" signs were URL escaped , changes them back to "+" 
before sending the requests to the backend server?

I'm calling the backed server as follows:

```
settings["mode"] = 'cors';
settings["credentials"] = 'same-origin';

    try {
        const response = await fetch(url, settings);
```
the url passed to the fetch command is 
"https://www.mydomain.com/search?string=%2Bdistance";
But when I inspect the safari network tab, webview is converting this url into: 
"https://www.mydomain.com/search?string=+distance";
I am seeing the same garbage at my server side proxy level, so is not just an 
illusion visible in safari network tab. 

Unfortunately by passing the  unescaped "+" causes problem at by backed java 
server level, which interprets the "+" as an empty space, messing up my logic.

This weird behavior is only visible in iOS. 
Android and web browsers are working just fine with the exact same code.

Any idea what is causing this iOS behavior, and is there a way to fix it ?

Thanks

PS: I am using the latest cordova version
ios@7.1.1




GitHub link: https://github.com/apache/cordova/discussions/492

----
This is an automatically sent email for issues@cordova.apache.org.
To unsubscribe, please send an email to: issues-unsubscr...@cordova.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to