我是初学者。我一直在尝试使用cordova / phonegap开发应用程序。我制作了一个示例数据库,并将其上传到免费主机上,并对php文件进行了相同的操作。在Web /台式机上时,我可以从数据库中检索数据,但在模拟器上不起作用。我该怎么办?
我试图发现正在发生的事情:到目前为止,我所知道的是javascript文件是可以的,因为对它的“警告”功能正在起作用。我知道我的php文件在phonegap上不起作用,因为我尝试更新数据库,但它不起作用。
getDados.php(在网络主机上):
<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
//Conectando ao banco de dados
$con = new mysqli("sql10.freemysqlhosting.net", "login_bd", "senha_bd", "nome_bd");
if (mysqli_connect_errno()) trigger_error(mysqli_connect_error());
//Consultando banco de dados
$qryLista = mysqli_query($con, "SELECT * FROM usuarios");
while($resultado = mysqli_fetch_assoc($qryLista)){
$vetor[] = array_map('utf8_encode', $resultado);
}
//Passando vetor em forma de json
echo json_encode($vetor);
?>
index.html(在我的本地计算机上):
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>AJAX, JSON E PHP</title>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="http://IP DA MÁQUINA LOCAL/geek_phonegap/www/ajax.js"></script>
</head>
<body>
<table border="1" width="500">
<thead>
<tr>
<th>ID</th>
<th>Usuario</th>
<th>Senha</th>
</tr>
</thead>
<tbody id="tabela"></tbody>
</table>
<button onclick="funcao1()">Alert</button>
</body>
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
</html>
ajax.js(本地计算机):
function funcao1()
{
alert("Está chamando o arquivo ajax.js!");
}
$(document).ready(function(){
$('#tabela').empty(); //Limpando a tabela
$.ajax({
type:'post', //Definimos o método HTTP usado
dataType: 'json', //Definimos o tipo de retorno
url: 'http://uniapp.orgfree.com/getDados.php',//Definindo o arquivo onde serão buscados os dados
success: function(dados){
for(var i=0;dados.length>i;i++){
//Adicionando registros retornados na tabela
$('#tabela').append('<tr><td>'+dados[i].id+'</td><td>'+dados[i].usuario+'</td><td>'+dados[i].senha+'</td></tr>');
}
}
});
});