Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Claudio Neto

Problema usando JSON

Recommended Posts

Montei uma funcao em Ajax que esta pegando informacoes em uma pagina em PHP para popular um select.

 

O envio e o recebimento dos dados esta funcionando, mas estou com dificuldades em estruturar os dados.

 

Meu retorno do PHP esta assim:

{"quantidade":4,"id":[8,6,7,5],"nome":[Congelado,Doce,Enlatado,Natural]}

E quando uso o Chrome para ver o erro do JS, da isso:

(function (evt) {with (this.ownerDocument ? this.ownerDocument : {}) {with (this.form ? this.form : {}) {with (this) {return (function(evt){cate_1(this);
}).call(this, evt);}}}})

A parte recebendo esta assim:

var jsonData = eval('('ajaxCom.responseText')'); //LINHA ACUSANDO ERRO
document.getElementById("catSec").innerHTML = jsonData.quantidade;

Obrigado desde ja.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu retorno do PHP esta assim:

{"quantidade":4,"id":[8,6,7,5],"nome":[Congelado,Doce,Enlatado,Natural]}

Esse JSON é inválido.

 

Pode até ser que algum navegador compreenda isso, mas é inválido.

 

Deveria ser:

{"quantidade":4,"id":[8,6,7,5],"nome":["Congelado","Doce","Enlatado","Natural"]}

Perceba as aspas nos itens da matriz "nome"

 

Utilize a função json_encode() para criar o JSON no formato correto:

 

<?php
$std = new stdClass();
$std->quantidade = 4;
$std->id = array( 8 , 6 , 7 , 5 );
$std->nome = array( 'Congelado' , 'Doce' , 'Enlatado' , 'Natural' );

echo json_encode( $std );

 

Saída:

{"quantidade":4,"id":[8,6,7,5],"nome":["Congelado","Doce","Enlatado","Natural"]}

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.