Http.get() working but not working in build(Release/Debug) in Ionic 4

前端 未结 3 884
夕颜
夕颜 2020-11-30 14:52

I am trying get data from a simple api, it works fine in ionic serve(browser) , But when i build the app http call does not work. my Code is



        
相关标签:
3条回答
  • 2020-11-30 15:18

    I am Guessing that your are getting this because of android changes its http architecture.

    to make it working on Android go to your project root folder.

    yourAppFolder > resources > android > xml > network_security_config.xml Change your network security config to blow code.

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <base-config cleartextTrafficPermitted="true">
            <trust-anchors>
                <certificates src="system" />
            </trust-anchors>
        </base-config>
    </network-security-config>
    
    0 讨论(0)
  • 2020-11-30 15:21

    I think you can use Native HTTP plugin for the device use cases:

    ionic cordova plugin add cordova-plugin-advanced-http
    npm install @ionic-native/http
    

    usage from the doc:

    import { HTTP } from '@ionic-native/http/ngx';
    
    constructor(private http: HTTP) {}
    
    ...
    
    this.http.get('http://ionic.io', {}, {})
      .then(data => {
    
        console.log(data.status);
        console.log(data.data); // data received by server
        console.log(data.headers);
    
      })
      .catch(error => {
    
        console.log(error.status);
        console.log(error.error); // error message as string
        console.log(error.headers);
    
      });
    
    0 讨论(0)
  • 2020-11-30 15:23

    This works for me on the Ionic 4 app.

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <domain-config cleartextTrafficPermitted="true">
            <domain includeSubdomains="true">localhost</domain>
        </domain-config>
    </network-security-config>
    
    0 讨论(0)
提交回复
热议问题