Enviando dados para o servidor usando JSON

Em algumas situações precisamos passar dados para o servidor, seja para um consulta em um banco de dados, ou para gravar alguma informação.

O JSON resolve muito bem o transito destes dados onde podemos utilizar parâmetros na URL e tratarmos com um $_GET do lado do servidor para que possamos ler os valores trocados entre o app e o web service.

O código a seguir exemplifica este transito de dados:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">  
  <title>Enviando dados com JSON</title> 
 
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
 
</head>
<body>
 
<h1>Passando dados para o servidor!</h1>
<hr>

 
<script>

function ChamadaJSON(num1, num2)
{
	// conecta ao servidor
	var xmlhttp = new XMLHttpRequest();

	/* colocar na url os valores que quer passar para o servidor.
	   seu arquivo PHP deverá capturar os dados usando $_GET[];
	*/var url = "http://appcinema.esy.es/mobile/json_post.php?num1=" + num1 + "&num2=" + num2; 
	
	xmlhttp.onreadystatechange=function() 
	{
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
		{
			ConectaServidor(xmlhttp.responseText);
		}
	}
	xmlhttp.open("GET", url, true);
	xmlhttp.send();
	alert("Gravado com sucesso no servidor");
}

function ConectaServidor(response) 
{
    var dados = JSON.parse(response);
}
</script>


<input type="number" id="num1">
<input type="number" id="num2">
<button onclick="ChamadaJSON(document.getElementById('num1').value, document.getElementById('num2').value)"> enviar para o servidor</button>
<hr>
Acesse o resultado em: <br>http://appcinema.esy.es/mobile/registro.txt

</body>
</html>

PHP do lado do servidor

O código PHP que se encontra no servidor grava os dados recebidos em um arquivo TXT e possui o seguinte código:
http://appcinema.esy.es/mobile/registro.txt

<?php
  $total = $_GET['num1'] + $_GET['num2'];
  $fp = fopen("registro.txt", "w+");
  $escreve = fwrite($fp, "$total");
  fclose($fp);
?>

Download

O download do arquivo HTML pode ser baixado aqui jsonpost