Ir para conteúdo

POWERED BY:

Arquivado

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

leonardo23costa

Erro ao exibir variavel no vetor

Recommended Posts

Boa noite pessoal, preciso de uma ajuda com um vetor em JS...

Quando insiro desta maneira o mesmo funciona ok, exibe todas as mensagens, mas quando coloco a variável teste no lugar ele não exibe nada:

var teste = document.getElementById('conversa').innerHTML; 
return {
		"messages":[
			{"_id":"57","text":"oi mae","userId":"54","date":"2016-10-19T13:45:00.000Z"},{"_id":"54","text":"Oi filho","userId":"57","date":"2016-10-19T13:47:00.000Z"},{"_id":"54","text":"Leo","userId":"57","date":"2016-10-19T13:51:00.000Z"},{"_id":"54","text":"...","userId":"57","date":"2016-10-19T13:52:00.000Z"},{"_id":"54","text":"Ha","userId":"57","date":"2016-10-19T13:52:00.000Z"},{"_id":"54","text":"XD","userId":"57","date":"2016-10-19T13:56:00.000Z"},{"_id":"54","text":"...","userId":"57","date":"2016-10-19T13:56:00.000Z"},{"_id":"54","text":"Ahh","userId":"57","date":"2016-10-19T13:57:00.000Z"},{"_id":"54","text":"T","userId":"57","date":"2016-10-19T13:58:00.000Z"},{"_id":"54","text":"F","userId":"57","date":"2016-10-19T13:59:00.000Z"},{"_id":"54","text":"X","userId":"57","date":"2016-10-19T14:02:00.000Z"},{"_id":"54","text":"Kk","userId":"57","date":"2016-10-19T14:03:00.000Z"},{"_id":"54","text":"Xp","userId":"57","date":"2016-10-19T14:06:00.000Z"},{"_id":"54","text":"...","userId":"57","date":"2016-10-19T14:08:00.000Z"},{"_id":"57","text":"ok","userId":"54","date":"2016-10-19T14:08:00.000Z"},{"_id":"54","text":"Jdjjd","userId":"57","date":"2016-10-19T14:09:00.000Z"},{"_id":"54","text":"K","userId":"57","date":"2016-10-19T14:14:00.000Z"},{"_id":"57","text":"leo","userId":"54","date":"2016-10-19T14:14:00.000Z"},{"_id":"57","text":"ke","userId":"54","date":"2016-10-19T14:16:00.000Z"},{"_id":"54","text":"L","userId":"57","date":"2016-10-19T14:16:00.000Z"},{"_id":"57","text":"leo","userId":"54","date":"2016-10-20T16:40:00.000Z"},{"_id":"57","text":"leo","userId":"54","date":"2016-10-20T16:41:00.000Z"},
		]
	  };

Essa pergunta já existe e foi respondida aqui:

Boa noite pessoal, preciso de uma ajuda com um vetor em JS...

Quando insiro desta maneira o mesmo funciona ok, exibe todas as mensagens, mas quando coloco a variável teste no lugar ele não exibe nada:

Poderiam me ajudar com uma solução, preciso que os dados sejam dinâmicos dentro do vetor "messages"... e essa variável teste é dinâmica porem ao inserir lá dentro não exibe nada na página.

Obs.: Todo esse conteúdo abaixo está na variável 'teste'

{"_id":"57","text":"oi mae","userId":"54","date":"2016-10-19T13:45:00.000Z"},{"_id":"54","text":"Oi filho","userId":"57","date":"2016-10-19T13:47:00.000Z"},{"_id":"54","text":"Leo","userId":"57","date":"2016-10-19T13:51:00.000Z"},{"_id":"54","text":"...","userId":"57","date":"2016-10-19T13:52:00.000Z"},{"_id":"54","text":"Ha","userId":"57","date":"2016-10-19T13:52:00.000Z"},{"_id":"54","text":"XD","userId":"57","date":"2016-10-19T13:56:00.000Z"},{"_id":"54","text":"...","userId":"57","date":"2016-10-19T13:56:00.000Z"},{"_id":"54","text":"Ahh","userId":"57","date":"2016-10-19T13:57:00.000Z"},{"_id":"54","text":"T","userId":"57","date":"2016-10-19T13:58:00.000Z"},{"_id":"54","text":"F","userId":"57","date":"2016-10-19T13:59:00.000Z"},{"_id":"54","text":"X","userId":"57","date":"2016-10-19T14:02:00.000Z"},{"_id":"54","text":"Kk","userId":"57","date":"2016-10-19T14:03:00.000Z"},{"_id":"54","text":"Xp","userId":"57","date":"2016-10-19T14:06:00.000Z"},{"_id":"54","text":"...","userId":"57","date":"2016-10-19T14:08:00.000Z"},{"_id":"57","text":"ok","userId":"54","date":"2016-10-19T14:08:00.000Z"},{"_id":"54","text":"Jdjjd","userId":"57","date":"2016-10-19T14:09:00.000Z"},{"_id":"54","text":"K","userId":"57","date":"2016-10-19T14:14:00.000Z"},{"_id":"57","text":"leo","userId":"54","date":"2016-10-19T14:14:00.000Z"},{"_id":"57","text":"ke","userId":"54","date":"2016-10-19T14:16:00.000Z"},{"_id":"54","text":"L","userId":"57","date":"2016-10-19T14:16:00.000Z"},{"_id":"57","text":"leo","userId":"54","date":"2016-10-20T16:40:00.000Z"},{"_id":"57","text":"leo","userId":"54","date":"2016-10-20T16:41:00.000Z"},

Obrigado desde já.

Essa pergunta já existe e foi respondida aqui:

Boa noite pessoal, preciso de uma ajuda com um vetor em JS...

Quando insiro desta maneira o mesmo funciona ok, exibe todas as mensagens, mas quando coloco a variável teste no lugar ele não exibe nada:

Poderiam me ajudar com uma solução, preciso que os dados sejam dinâmicos dentro do vetor "messages"... e essa variável teste é dinâmica porem ao inserir lá dentro não exibe nada na página.

Obs.: Todo esse conteúdo

Compartilhar este post


Link para o post
Compartilhar em outros sites

o conteúdo da variável teste é uma STRING.

Se você tem um jason nessa string, precisa converter ele para JSON antes dele se comportar da mesma forma que o json ai.

se eu entendi certo o que você disse, seria isso aqui:

return { "messages": JSON.parse(teste) };

Compartilhar este post


Link para o post
Compartilhar em outros sites

então:

console.log(teste, typeof teste)
e passa o resultado aqui para eu entender o que é.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, agora deu "unexpected identifier", mas coloquei dentro da chave return, quando coloco fora da o mesmo erro de Unexpected token u in JSON at position 0, essa é minha função completa

function getMockMessages() {
	  var teste;
	  $.ajax({ 
		url: 'conversa.php', 
		type: 'POST', 
		success: function(res){ 
		  $("#conversa").empty();
		  $("#conversa").append(res);
		  teste = document.getElementById('conversa').innerHTML;
                  console.log(teste, typeof teste)
		}
	  });
	  
	  
	  return { 
		"messages":JSON.parse(teste)
	  };
	}
	setInterval(getMockMessages, 1000);

Compartilhar este post


Link para o post
Compartilhar em outros sites

eita.. fiquei confuso cara. Não faz sentido isso que você tá fazendo.

você não pode retornar coisas de uma função assíncrona (ajax), e não faz sentido você colocar num elemento HTML para depois tirar de lá.

essa variável teste nunca vai ter o valor que você quer dessa forma ai.

qual o objetivo final desse código?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que fazer algo mais parecido com isso aqui:

function getMockMessages() {
  $.ajax({ 
    url: 'conversa.php', 
    type: 'POST', 
    success: function(res){ 
      $("#conversa").empty();
      $("#conversa").append('mensagem:' + res[0].text);
    }
  });
}

setInterval(getMockMessages, 1000);
entendeu?

lá dentro do success que você formata a mensagem da forma que você quer exibir.

Compartilhar este post


Link para o post
Compartilhar em outros sites

entendi sim, acabei de achar uma solução... vou tirar esse ajax daí e farei um select direto dentro de cada div, acho que fica mais fácil de manipular os dados. Muito obrigado parceiro, irei marcar como resolvido =D

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.