Resolvi escrever este artigo após uma dúvida de um membro da comunidade PhonegapBr.
O objetivo é simples, enviar uma informação e retornar algo em JSON, não entrarei em muitos detalhes, como disse o objetivo é fazer algo simples uma consulta e um retorno.
O que é JSON?
Uma rápida consulta no Google para o termo “jeison” temos o seguinte retorno…
JSON é um acrônimo para “JavaScript Object Notation”, é um formato leve para intercâmbio de dados computacionais. JSON é um subconjunto da notação de objeto de JavaScript, mas seu uso não requer JavaScript exclusivamente.
Para fazer a requisição para o servidor irei utilizar o AJAX, outra rápida busca no Google iremos ter a seguinte resposta…
AJAX significa Asynchronous JavaScript e XML. Em poucas palavras, é o uso do objeto XMLHttpRequest para se comunicar com os scripts do lado do servidor. Ele pode enviar bem como receber informações em uma variedade de formatos, incluindo JSON, XML, HTML, e até mesmo arquivos de texto
E no lado do nosso servidor estarei usando o PHP, lembrando de colocar o Framework jQuery.
Sabendo as informações acima iremos começar este artigo pelo lado do servidor que será o PHP. Fiz este script abaixo apenas para usar como exemplo, em cada linha do código já possui a sua explicação e acredito eu que não será nada bicho de 7 cabeças.
//Acessar de qualquer local header("Access-Control-Allow-Origin: *"); $arr = array(); //crio um array base //verifico se a informação que estou requisitando existe $acao = isset($_POST['acao']) && !empty($_POST['acao']) ? $_POST['acao'] : 'false' ; switch ($acao) { case 'ConsultarVarios': //adiciono no meu array base algumas outras informações $arr['marcas'] = array("BMW","Ferrari"); $arr['msg'] = ''; break; case 'false': $arr['msg'] = 'Acesso Negado'; break; } //print_r($arr); //converto o meu array em JSON para receber na minha requisição AJAX echo json_encode($arr); |
Para saber mais sobre a função json_encode do PHP, clique aqui.
Após isto temos a requisição feita pelo usuário, nesta requisição poderá notar que estou enviando uma informação para o servidor no formato POST e ele está me retornando um conteúdo em JSON.
Para saber mais sobre o AJAX clique aqui
$.ajax({ type: "POST", url: "https://www.phpiando.com.br/api/Consulta.php", data: { acao: "ConsultarVarios" }, dataType: "json", success: function (json) { if (json.msg === '') { for (var i = 0; i < json.marcas.length; i++) { alert(json.marcas[i]); } } else { alert(json.msg); } }, error: function (x, e, t) { alert(JSON.stringify(x)); } }); |
Através desse exemplo acredito que ficará mais fácil o entendimento de como fazer uma requisição e trabalhar o seu retorno.
Qualquer dúvida só postar nos comentários.
Até a próxima.