2013-02-25 13 views
6

Próba użycia emulatora Ripple do przetestowania aplikacji PhoneGap. Robimy żądań do serwera i odbierania:PhoneGap/Cordova, Emulator tętnień, CORS & JSONP

BŁĄD:

cordova :: XMLHttpRequest :: setRequestHeader does not work with JSONP.

  • a) CORS jest włączony na serwerze i kliencie
  • b) wnioski pracować w przeglądarce
  • c) Żądania działają na urządzeniu mobilnym
  • d) Włączono opcję "Zezwalaj na dostęp do adresów URL plików" w ustawieniach rozszerzenia przeglądarki Ripple dla Chrome.
  • e) uruchomiłem chrom z flagami:

--disable-web-security --allow-file-access-from-files

Czy Ripple Emulator CORS wsparcia HttpRequest lub tylko jsonp?

Jeśli obsługuje połączenia z więcej niż tylko JSONP, mógłbym skorzystać z pomocy przy implementacji.

Dziękujemy!

Odpowiedz

8

Emulator Ripple obsługuje CORS httprequest, ale musisz hostować swoją stronę HTML jako stronę internetową na swoim komputerze i uzyskać do niej dostęp za pomocą http://localhost/yourvirtualdir/yourfile.html.

+0

Dziękuję @ Whizkid747 - masz rację. Ustanowiłem wirtualny host i uzyskałem do niego dostęp za pośrednictwem tego lokalnego hosta wirtualnego, który teraz wysyła żądanie. –

1

Zamiast konfigurować katalog wirtualny lub wpis IIS, należy użyć wbudowanego serwera programowania PHP. Działa to w środowiskach Windows i Linux.

http://php.net/manual/en/features.commandline.webserver.php

$ cd ~/public_html 
$ php -S localhost:8000 

Teraz można otworzyć przeglądarkę i przejdź do http://localhost:8000 i witryny \ app będą serwowane. Następnie możesz włączyć Ripple na tym adresie URL.