Ionic 3 api not working in device

What the error you get?

Have you installed whitelist plugin

Solved this problem by using this.

 if (this.plt.is('mobileweb') == true){
    this.APIUrl = '/matcheslive';
  }else{
    this.APIUrl = 'https://api.wh.geniussports.com/v1/basketball/competitions/19816/matcheslive';
  }

Sorry you can get more example, dont work httpClienteModule?

What did you do to work on iOS device, I also had a problem with http request api

Hi @Armando1986 I used proxy for http api request.

sorry you can help, or show more example, how can use this proxy, i have a problem with api in iOS device

you had to uninstall or use Wkwebview plugin?

Few day I also facing api call failed in ios only then I resolved issue from server side(enable cors), now it is working fine.

my problem is that I can not touch the server side since it is a private api, but on the Android device it works but iOS does not

Right, I had faced same issue.
This is wkwebview issue in ios.

Due to immediate requirement I have changed my server side so didn’t checked alternative option.

There is three option you can try:

  1. use native htttp plugin (most recommended, please try. I didn’t tried so can’t guarantee)
    https://ionicframework.com/docs/native/http/

  2. remove wkwebview plugin (working but not recommended)

  3. setup proxy(in my case didn’t work in ios. it was working in browser and android).
    https://ionicframework.com/docs/cli/configuring.html#service-proxies

ok server side that you recommend? some instruction of what you did, I would appreciate it

Read my reply properly. I have recommended 1 option.

1)use native htttp plugin (most recommended, please try. I didn’t tried so can’t guarantee)

Use ionic native plugin.

I made the change for HTTP native and it does not work either, I do not find what to do, it only tells me that I must uninstall Wkwebview but it does this that other things do not work

I see that you used iOS device as you did you can help me thank you very much

Can you please send screenshot of debug consle on your ios?

I solved the problem I had to go to the side of the server placing:

header (‘Access-Control-Allow-Origin: *’);
header (“Access-Control-Allow-Methods: GET, OPTIONS”);

and using the following:

@Armando1986 I am also enable cors in server.
wkwebview removing is not recommended.

allow the origin “localhost:8080” in server. That is the host and the port when running on the device.

If you can not change the server, use cordova http plugin. That should bypass CORS.

1 Like

I had the same problem and I solved by installing the cordova-plugin-whitelist plugin and configure it in the config.xml file

https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-whitelist/