2016-10-09 9 views
1

Ich habe versucht, eine Android-App mit nativescript.Ich benutze Fetch-Modul, um die Antwort von meinem Server zu bekommen.Wenn ich versuche, Antwort von httpbin.org/get bekommen, es ist OK. Aber wenn ich versuche, Antwort von meinem lokalen Server zu bekommen, bekomme ich Netzwerkanforderung fehlgeschlagen. Fehler.Fetch Api: Kann keine Daten von localhost

Senden

return fetchModule.fetch("https://httpbin.org/get").then(response => { return response.text(); }).then(function (r) { 
     console.log(r); 
    }, function (e) { 
      console.log(e); 
     }); 

Senden an localhost httpbin.org/get-: 8000/API-

return fetchModule.fetch("http://localhost:8000/api").then(response => { return response.text(); }).then(function (r) { 

     console.log(r); 

}, function (e) { 

     console.log(e); 
    }); 

Wenn ich versuche Antwort von localhost zu erhalten: 8000/api in reinem Knoten. js über das Anfrage-Modul.Es hat gut funktioniert.Aber jetzt, ich weiß nicht, wie man das in nativescript mit Fetch-Modul zu lösen.

+0

Sind Sie sicher, dass Sie Internet-Verbindung auf Mobil haben ? –

+0

Verwenden Sie nicht localhost als localhost-Punkt zum lokalen Gerät in diesem Fall Ihr Handy, das nicht Server ist. Überprüfen Sie auf Ihrem PC, was ist IP und ändern Sie localhost für IP –

+0

Warum Internetverbindung? Ich benutze AVD von Android Studio. –

Antwort

6

Stattdessen localhost verwenden 10.0.2.2 (bei Verwendung von AVD-Emulator)

10.0.2.2 - Special alias to your host loopback interface 
(i.e., 127.0.0.1 on your development machine) 

Für GenyMotion Emulator die Loopback-Adresse ist 10.0.3.2

+0

So- 10.0.2.2/api Oder 10.0.2.2:8000/api gefällt das? –

+2

Herr Nick, wie kann ich Ihnen danken? Sie sind einfach fantastisch. –