2015-05-28 7 views
5

Jak wykonać międzydomenowe żądanie http w Ionic Framework na Androida?Jak wykonać międzydomenowe żądanie http w Ionic Framework na Androida?

Próbowałem ustawić proxy w ionic.project, nie pomaga. Oto jak to zrobić: potrzebne

$http.get('http://localhost:8100/getnews/?hashcode=' + hashcode + '').then(function (resp) { 
     ... 
    }, function (err) { 
     ... 
    } 

Oto ionic.project:

{ 
    "name": "...", 
    "app_id": "...", 
    "proxies": [ 
     { 
     "path": "/getnews", 
     "proxyUrl": "http://yukigaru.pythonanywhere.com/getnews/" 
     } 
    ] 
} 

To nie działa na Androidzie, function (eee) oddział jest zawsze o nazwie. Działa na przeglądarce jednego komputera i nie działa w przeglądarce innego komputera.

Cordova 5.0.0, Ionic 1.3.20, Android 5.x.

+0

używasz phonegapp lub cordova? jeśli tak, upewnij się, że punkt dostępu jest ustawiony poprawnie, zobacz: [źródło krzyżowe] (http://docs.phonegap.com/en/1.9.0/guide_whitelist_index.md.html) – Praveen

+0

o której przeglądarce mówisz? chrom? to znaczy? –

+0

Czy używasz wersji 4 platformy cordova-android lub starszej wersji? jeśli używasz wersji 4, upewnij się, że masz wtyczkę cordova-plugin-whitelist w swoim projekcie. – QuickFix

Odpowiedz

0

Co skończyło się robi w moim app Ionic jest to, że dodaje to do pliku PHP, który gra jako JSON API (i które ja nazywam z Ionic app):

header('Access-Control-Allow-Origin: *'); 

Tak więc, jeśli kontrolować Interfejs API punktu końcowego i są w stanie zrobić podobne (nie wspomniałeś, który stos API używasz?) Zmienia się, powinieneś być w porządku. Jeśli ktoś ma lepszy przypadek użycia, proszę odpowiedzieć ...

0

localhost to "ta maszyna", dlatego działa na komputerze z serwerem i nie działa na innych komputerach.

Zmień localhost do lokalnego IP komputera z serwerem, coś 192.168.1.X

0

Jeśli spróbujesz zadzwonić usługi spoza pochodzenia następnie należy dodać nagłówki kontroli dostępu po stronie serwera, w przeciwnym wypadku zamiast $ http.get możesz wypróbować $ http.jsonp (nie wypróbowałem tej metody).

Mam nadzieję, że to ci pomoże.