A partir do PHP 5.2.0 temos uma extensão para JSON que facilita o transporte de dados do PHP para o JavaScript (via AJAX) e vice-versa.
Com o advento do Ajax, JSON se tornou um formato para intercâmbio de dados bem mais eficiente e compacto que XML. E nada como tratá-lo como um objeto também no lado do servidor, assim como fazemos no JavaScript. As duas funções que tratam da conversão objeto-string e string-objeto no PHP são json_encode e json_decode, respectivamente.
Vou lhes mostrar um exemplo de como trabalhar com PHP + JSON. Primeiramente vamos formatar corretamente o código PHP que será chamado via AJAX no Javascript.
$produto = array(
'id' => 32,
'nome' => 'Camera Digital Sony W220',
'fabricante' => 'Sony',
'valor' => 'R$ 799,00'
);
$produtoJSON = "var produto = " . json_encode($produto);
echo $produtoJSON;
// var produto = {"id": 32, "nome": "Camera Digital Sony W220", "fabricante": "Sony", "valor": "R$ 799,00"}
Agora no javascript vamos dar um alerta com os dados separados:
<script type="text/javascript">
/*
... requisição ajax ...
*/
eval(ajax.responseText); // transformo a string do resultado em formato de código válido do javascript
alert(" id = " + produto['id'] + "\n nome = " + unescape(produto['nome']) + "\n fabricante = " + unescape(produto['fabricante']) + "\n valor = " + unescape(produto['valor']));
</script>
Posts relacionados: