2013-02-25 7 views
6

Versuch, den Ripple-Emulator zum Testen einer PhoneGap-Anwendung zu verwenden. Wir machen Anfragen an den Server und Empfangen:PhoneGap/Cordova, Ripple-Emulator, CORS & JSONP

ERROR:

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

  • a) CORS auf dem Server aktiviert ist und der Client-
  • b) Die Anforderungen im Browser arbeiten
  • c) Die Anfragen funktionieren auf dem mobilen Gerät
  • d) Ich habe die "Zugriff auf Datei URLs erlauben" in den Einstellungen für die Ripple Chrome Extension aktiviert.
  • e) startete ich Chrom mit den Flaggen:

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

Does Ripple Emulator Unterstützung CORS Httprequest oder nur JSONP?

Wenn es einen Aufruf von mehr als nur JSONP unterstützt, dann könnte ich Hilfe bei der Implementierung verwenden.

Vielen Dank!

Antwort

8

Ripple-Emulator unterstützt CORS httprequest, aber Sie müssen Ihre HTML-Seite als Website auf Ihrem Computer hosten und darauf zugreifen, indem Sie http://localhost/yourvirtualdir/yourfile.html verwenden.

+0

Danke @ Whizkid747 - Sie haben Recht. Ich habe einen virtuellen Host eingerichtet und über diesen lokalen virtuellen Host darauf zugegriffen und er stellt nun die Anfrage. –

1

Anstatt einen virtuellen Verzeichnis- oder IIS-Eintrag einzurichten, verwenden Sie den PHP-integrierten Entwicklungswebserver. Dies funktioniert in Windows- und Linux-Umgebungen.

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

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

Jetzt können Sie Ihren Browser öffnen und zu http://localhost:8000 und Ihre Website \ app wird serviert navigieren. Dann können Sie Ripple für diese URL aktivieren.