Не удается вызвать PHP-файл через AJAX (Кордова) - PullRequest
0 голосов
/ 15 апреля 2019

Я новичок. Я пытался разработать приложение, используя cordova / phonegap. Я сделал пример базы данных и загрузил ее на бесплатный хост, и сделал то же самое с файлом php. Я могу получить данные из БД, когда они находятся в Интернете / на рабочем столе, но это не работает на эмуляторе. Что мне делать?

Я пытался выяснить, что происходит: на данный момент я знаю, что файл javascript в порядке, так как работает функция «оповещения» о нем. Я знаю, что мои php-файлы не работают с телефонной пробкой, потому что я пытался обновить свою базу данных, но она не работала.

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>');
            }
        }
    });
});
...