Respondendo no stackoverflow
Vou começar a responder a algumas dúvidas no stackoverflow e me aprofundar mais no assunto aqui.
A dúvida é esta. A idéia é sobre como criar uma tela de “loading” para um relatório, já que a execução do script é demorada.
Então vamos lá!
Começaremos pelo script que gera o JSON com os dados da aplicação:
dados.php
|
|
Você pode usar o servidor embutido do php para testar a aplicação, é só rodar php -S 0.0.0.0:8000
na raiz da pasta do projeto.
Ao acessar http://0.0.0.0:8000/dados.php
, vai demorar 3 segundos e será retornado o JSON com os dados.
Agora vamos para a página que vai mostrar os dados em tabela.
index.html
|
|
Aqui temos um template padrão de HTML 5. Criei uma div com uma class carregando
para mostrar uma mensagem de carregando (pode usar o que você quiser).
Criei também uma tabela com o cabeçalho.
Carrego o cdn do jquery.
Logo abaixo começo a requisição ajax, com os seguintes parametros:
url
: O caminho que retorna os dados em JSON
method
: Qual metodo HTTP é usado na requisição, normalmente GET ou POST.
dataType
: Qual o tipo de dados espero de volta. No caso um JSON.
success
: O que fazer no caso de sucesso.
Na função recebemos o JSON na variavel jsonResponse
. Uso a função $.each do Jquery para iterar no JSON.
Uso a variavel linhas
para guardar cada uma das linhas que retornou do JSON.
Escondo o conteudo da mensagem de carregando com .hide.
Adiciono a tabela usando o .append.
Espero ter ajudado. Qualquer dúvida usem os comentários aí embaixo.
Até mais.