2017-02-03 4 views
0

Wie der Titel angibt, bekomme ich diesen Fehler von Chrome Remote-Debugging auf einem separaten Android-Gerät, wenn ich die Login-Taste drücken, um eine GET-Anfrage mit Ajax Anruf senden. Es funktioniert jedoch gut in einem Browser. Ich habe die IP-Adresse in den URLs meiner js-Dateien so geändert, dass sie auf meine öffentliche IP verweist.net :: ERR_CONNECTION_REFUSED auf Cordova App

Ich habe überprüft und befolgte empfohlene Schritte wie das Hinzufügen der Content-Security-Policy-Header zur index.html und auch für die cordova Plugin-Whitelist, Hinzufügen von allow-intent und erlauben-Navigation in meine Datei config.xml Außerdem wird das cordova.js-Skript zum Header meiner index.html-Datei hinzugefügt, der Fehler bleibt jedoch bestehen.

Ich bin neu dazu, daher bin ich mir nicht sicher, ob es weitere Faktoren gibt, die diesen Fehler verursachen könnten, wie zum Beispiel die Domäne, die live sein muss. Hier ist der Screenshot des Fehlers. Bitte sagen Sie mir, ob ich weitere Informationen zur Verfügung stellen kann.

enter image description here

Hier sind die Codes:

index.html

<!DOCTYPE html> 
<html> 
    <head> 
    <title>AGW</title> 
    <meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' http://PublicIPAddress/MP/applogin.php"> 
    <meta content="text/html;charset=utf-8" http-equiv="Content-Type"> 
    <meta content="utf-8" http-equiv="encoding"> 
    <!-- include css file here--> 
    <!-- include JavaScript file here--> 
    <script src="cordova.js"></script> 
    <script type= "text/javascript" src="js/jquery-3.1.1.js"></script> 
    <script type="text/javascript" src="js/validlogin.js"></script> 

    </head> 
    <body> 
    <div class="container"> 
     <div class="main"> 
      <form class="form" method="post" action="#"> 
      <h2>AGW</h2><hr/> 

      <label>Email :</label> 
      <input type="text" name="email" id="email"> <br /> 
      <br /> 
      <label>Password :</label> 
      <input type="password" name="password" id="password"> <br /> 
      </form><br /> 
      <br />   
      <input type="submit" name="login" id="login" value="Login"> 
      </form> 
     </div> 
    </div> 

    </body> 
</html> 

config.xml

<?xml version='1.0' encoding='utf-8'?> 
<widget id="io.cordova.hellocordova" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> 
    <name>AWG Rewards System</name> 
    <description> 
     A sample Apache Cordova application that responds to the deviceready event. 
    </description> 
    <author email="[email protected]" href="http://cordova.io"> 
     Apache Cordova Team 
    </author> 
    <content src="index.html" /> 
    <plugin name="cordova-plugin-whitelist" spec="1" /> 
    <access origin="*" /> 
    <allow-intent href="http://*/*" /> 
    <allow-intent href="https://*/*" /> 
    <allow-intent href="tel:*" /> 
    <allow-intent href="sms:*" /> 
    <allow-intent href="mailto:*" /> 
    <allow-intent href="geo:*" /> 
    <allow-intent href="http://127.0.0.1/MP/*" /> 
    <allow-intent href="http://PublicIPAddress//MP/*" /> 
    <allow-navigation href="*" /> 
    <allow-intent href="*" /> 
    <platform name="android"> 
     <allow-intent href="market:*" /> 
    </platform> 
    <platform name="ios"> 
     <allow-intent href="itms:*" /> 
     <allow-intent href="itms-apps:*" /> 
    </platform> 
</widget> 
+1

Ihre allow-intent-Konfiguration in config.xml enthält sowohl Platzhalter als auch IP-Spezifikationen (allow-intent href = "http: // PublicIPAddress // MP/*"). Könnten Sie bitte nur Wildcards verwenden und überprüfen? – Gandhi

+0

Ahh! Aha. Ich habe Ihre Schritte befolgt und auch die IP-Adresse in den Codes an die lokale IP-Adresse anstelle der öffentlichen IP-Adresse geändert, wodurch sie funktioniert. –

+0

Froh, es hat funktioniert. Posted die Antwort zum Wohle anderer. Bitte akzeptieren und upvote, wenn es hilfreich war. Prost – Gandhi

Antwort

1

Das Problem ist, mit Die in der Datei "config.xml" angegebene Konfiguration "allow-intent"

In der Datei config.xml sind sowohl Konfigurationen mit Platzhalterzeichen als auch IP-basierte Konfigurationen mit der Option "allow-intent" angegeben. Das Korrigieren dieser Konfiguration und Erwähnen von richtigen IPs sollte das funktionieren.

Verwandte Themen