it-swarm.com.de

Phonegap Cordova Ajax fordert 404-Fehler (nicht gefunden) an

Meine Cordova-Version ist 5.0.0

Ich erhalte eine 404-Fehlermeldung für die All-Ajax-Anforderung, wenn die App auf dem Gerät bereitgestellt wird. Im Webbrowser funktioniert es einwandfrei, aber dieselbe App, die auf einem Gerät bereitgestellt wird, funktioniert nicht.

Ich habe versucht, Folgendes hinzuzufügen, um das Problem zu lösen, aber es hat nicht geholfen.

Config.xml

<access Origin="*" />

AndriodManiest.xml

<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
<uses-permission Android:name="Android.permission.READ_PHONE_STATE" />

Ich habe auch folgendes in meine index.html-Datei eingefügt, aber es machte auch keinen Unterschied.

<script>
    $.support.cors=true;
</script>

Hat hier jemand einen anderen Trick, um dieses Problem zu lösen? Scheint ein recht häufiges Problem mit Phonegap zu sein, aber die oben genannten Korrekturen funktionierten in älteren Versionen der Phonegap/Cordova, aber keiner von ihnen hat in meinem Fall funktioniert.

Jede Hilfe wäre toll.

56
Sahil

Ich hatte das gleiche Problem und musste die Cordova-Plugin-Whitelist installieren

cordova plugin add cordova-plugin-whitelist

Dieser Stackoverflow-Artikel enthält Gutschrift - Ajax-Befehl zum Anfordern einer nicht mehr funktionierenden URL

111
Derek Arends

Es sollte eigentlich das Cordova-Whitelist-Plugin hinzufügen:

cordova plugin add cordova-plugin-whitelist

oder in deiner config.xml-Datei:

<plugin name="cordova-plugin-whitelist" spec="1" />

wenn Sie jedoch den Online-Dienst für Phonegap-Build verwenden, unterscheidet sich die Syntax. Sie müssen die folgende Zeile in Ihre config.xml-Datei einfügen:

<gap:plugin name="cordova-plugin-whitelist" source="npm" />

und domänenübergreifende Anfragen zulassen:

<access Origin="*" />
<allow-intent href="*" />
<allow-navigation href="*" />

Dies wird nicht empfohlen, da überall ein Platzhalter verwendet wird und alles zulässig ist. Aber es ist perfekt für Ihre Tests.

20
Damien

Das hat bei mir funktioniert. Der einzige Unterschied besteht in meiner config.xml. Ich musste sie in einen Knoten einfügen, damit sie wirksam wird. 

Mein Beispiel unten:

<platform name="Android">
    <allow-intent href="market:*" />
    <access Origin="*" />
    <allow-intent href="*" />
    <allow-navigation href="*" />
</platform>
1
SeanBarberPro

Phonegap-Benutzer. Das Hinzufügen dieser Zeile in die config.xml ist die Lösung für mich:

<gap:plugin name="cordova-plugin-whitelist" source="npm" />
0