Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
Quando eu faço uma requisição ajax para o php eu recebo uma variável JSON igual a essa:
var loginExiste = request.responseText;
//loginExiste = {"nome":"jose","idade":"34","cidade":"santo andre"}
Eu consigo ler essa variável só se eu usar esse comando:
loginExiste = JSON.parse(loginExiste);
alert(loginExiste.nome);
alert(loginExiste.idade);
alert(loginExiste.cidade);
Eu não estou entendendo pq eu não consigo ler ela direto, digo ser usar o JSON.parce.
O comando JSON.parce() resolveu o meu problema, mas eu queria sabe se tem alguma outra forma de ler essa variável em js?
Desde já, Obrigado.
Então, eu transformei um array em JSON no PHP:
public function __construct($codProduto){
$this->codProduto = $codProduto;
$this->produto = $this->buscaSql($this->codProduto); // <-- A propriedade produto recebe um array de dados
$this->produto = json_encode($this->produto[0]); // <-- A propriedade produto é transformada em json
}
/ Fora da minha classe eu chamo o método getProduto() /
echo $obj->getProduto();
Dessa formar o meu responseText vem como uma string e não um json?
Se sim eu entendi rsrs
Porem dessa forma eu sempre vou ter que usar o JSON.parce... estou errado? rs
Acabei entrando em méritos de outra linguagem na parte de js. Sorry!
Não.. ainda não é um JSON.
Faltou os cabeçalhos.
header('Content-Type: application/json');
Tentei varias vezes antes de postar novamente mas... rs
Não consegui, quando eu incluo o cabeçalho que vc me indicou mostra o código fonte da pagina.
Existe outra forma?
Qual lib vc está usando para fazer o AJAX?
Vc tem que se entender com o cabeçalho.. haha.. é o mais correto.
Se o PHP já devolver um JSON, vc consegue ler sem o JSON.parser.
Vc só precisou dele, pq o teu php imprimiu uma string, e não um json. Entendeu?
Para ser um JSON, ele precisa retornar os cabeçalhos corretos de json.