Abilita l'app Android per connettersi a Internet

Ho creato una semplice app usando Phohegap per recuperare pochi record da un database remoto usando il seguente index.html:

<!doctype html> <html><head> <meta charset="utf-8"> <title>Untitled Document</title> <link rel="stylesheet" type="text/css" href="jquery.mobile-1.4.4.min.css"> <script src="jquery-1.11.1.min.js"></script> <script src="jquery.mobile-1.4.4.min.js"></script> <script charset="utf&minus;8" type="text/javascript"> function connect(e) { var term= {button:e}; $.ajax({ url:'http://dubaisinan.host22.com/reply.php', type:'POST', data:term, dataType:'json', error:function(jqXHR,text_status,strError){ alert("No Connection");}, timeout:60000, success:function(data){ $("#result").html(""); for(var i in data){ $("#result").append("<li>"+data[i]+"</li>"); } } }); } </script> </head> <body> <center><b>My Students</b></center> <center><input onclick="connect(this.value)" type="button" value="showStudents" /></center> <center><b>Results</b></center> <ul data-role="listview" id="result"></ul> </body> </html> 

E il seguente reply.php:

 <?php header('Content-Type: application/json'); $link = mysql_connect('host_name', 'user-name', 'password'); if (!$link) { $myStudents[] = "No"; die('Could not connect: ' . mysql_error()); } mysql_select_db("a2808249_db1",$link); $result = mysql_query("SELECT * FROM Students",$link); while ($myrow = mysql_fetch_row($result)) { $myStudents[] = $myrow[1]; } print json_encode($myStudents); ?> 

Funziona benissimo sul mio porttile, ma quando lo costruisco usando Phonegap e scarica il file apk sul mio dispositivo Note 3, ricevo il messaggio "Nessuna connessione". Sembra che l'app non sia in grado di connettersi a Internet. Il dispositivo ha una connessione Internet.

Qualche aiuto per favore? Sinan

Aggiungi queste linee

 <script type="text/javascript" charset="utf-8" src="cordova.js"></script> <script type="text/javascript" charset="utf-8"> 

Inoltre hai detto che vuoi recuperare, quindi questa dovrebbe essere una chiamata GET, non POST.

Utilizza anche <!DOCTYPE html> (standard di codifica appropriato)

Modifica: Esempio Chiamata GET

 $.ajax({ url: "http://abcd.com", headers: { "X-API-KEY": "2b9asdedqedqxdqd7956e6f7a", "Content-Type": "application/json" }, type: "GET", data: fromDatan, dataType: "JSON", success: function(fromData, status, jqXHR) { alert(JSON.stringify(fromData)); }, error: function(jqXHR, status) { alert(JSON.stringify(jqXHR)); } }); 

EDIT: questo è un codice di esempio che può eseguire il POST su un server di prova

 <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.min.js"></script> <script language="javascript" type="text/javascript"> <!-- function greeter() { var accx = 5; var accy = 6; var accz = 7; var output = []; output[0] = { name: "Accel_X", value: accx.toString(), // retrieve x }; output[1] = { name: "Accel_Y", value: accy.toString(), // retrieve y }; output[2] = { name: "Accel_Z", value: accz.toString() // retrieve z }; var fromData = {}; fromData.output = output; var fromDatan = JSON.stringify(fromData); alert(fromDatan); jQuery.ajax({ url: "http://posttestserver.com/post.php", type: "POST", data: fromDatan, dataType: "JSON", success: function(fromDatan, status, jqXHR) { alert(JSON.stringify(fromData)); }, error: function(jqXHR, status) { alert(JSON.stringify(jqXHR)); } /* error:function(jqXHR,text_status,strError){ alert("No Connection");}, timeout:60000, success:function(data){ $("#result").html(""); for(var i in data){ $("#result").append("<li>"+data[i]+"</li>"); } }*/ }); return false; } //--> </script> </head> <body> <button onclick="greeter();">Click me</button> </body> </html> 

Ho provato con il tuo URL, non funziona. Comunque ti farò sapere se posso