Включить приложение Android для подключения к Интернету

Я создал простое приложение, использующее Phohegap для извлечения нескольких записей из удаленной базы данных, используя следующий 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>

И следующий answer.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);
?>

Он отлично работает на моем ноутбуке, но когда я собираю его с помощью Phonegap и загружаю файл apk на свое устройство Note 3, я получаю сообщение «Нет соединения». Кажется, что приложение не может подключиться к Интернету. Устройство имеет подключение к Интернету.

Любая помощь, пожалуйста?
Синан

0

Решение

Добавьте эти строки

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

Также вы сказали, что хотите получить, так что это должен быть вызов GET, а не POST.

Также используйте <!DOCTYPE html> (правильный стандарт кодирования)

Изменить: Пример вызова 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));
}
});

РЕДАКТИРОВАТЬ: это пример кода, который может POST на тестовом сервере

<!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>

Я пытался с вашим URL, не работает. Однако дам вам знать, если смогу

0

Другие решения

Других решений пока нет …