Ir para conteúdo

POWERED BY:

Arquivado

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

FabianoSouza

Split em JS não em funciona JSON

Recommended Posts

Help!!

Este link

http://senior.websenior.net.br/Ajax/deptos.asp

faz um select no baco de dados e coloca os valores num objeto JSON.

Aí capturo a gigantesca string via AJAX, mas não estou sabendo fazer um loop com split em JS para colocar as informações numa Table.

Estou tentando o código abaixo...mas não está rolando :-(

 

<script>
function carregaDados()
{
var objDados = createXMLHTTP(); 
objDados.open("post", "../json_asp/exemplo1.asp", true); 
objDados.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
objDados.onreadystatechange=function(){
if (objDados.readyState==3){
}
else
if (objDados.readyState==4){ 
varP=innerHTML = objDados.responseText;
novoArray = varP.split(',');
var i=0;
while (i<=5)
 {
 document.write(novoArray);
 document.write("<br />");
 i++;
 }
}}
objDados.send();
}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo verifique se sua dyvia é realmente sobre ASP, senão podemos direcioná-los para o fórum correto

Compartilhar este post


Link para o post
Compartilhar em outros sites

dê um alert nessa variavel:

objDados.responseText e nos informe como ela é.

Compartilhar este post


Link para o post
Compartilhar em outros sites

troque os apostrofos(aspas simples) por aspas (aspas duplas)

 

o retorno do json tem que ficar semelhante a este formato

 

{"parametro":"valor"}

Compartilhar este post


Link para o post
Compartilhar em outros sites

dê um alert nessa variavel:

objDados.responseText e nos informe como ela é.

 

 

Willian,

 

Dá um ligo. http://senior.websen.../ajax/json.html

 

Fiz um ajustes e tals.

Agora carrega e escreve na págia. Mas escreve e repete todo o bloco mais os caracteres de separação e tals.

 

Quero montar uma espécie de grid com estas informações...help.

 

To usando este loop.

 

varP=innerHTML = objXMLCalendario.responseText
novoArray = varP.split(',');
var i=0;
while (i<=5)
{
document.write(novoArray);
document.write("<br />");
i++;
}

Brigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara.. já que o retorno é um jSON, então você não precisa do split(), entendeu ?

 

você pode iterar sobre o objeto jSON diretamente. É essa a vantagem de utilizar este formato. jSON é uma notação de objeto javascript.

Porém ainda existem alguns erros de notação no seu jSON.

 

O valor: Centro de Custo, precisa estar entre aspas: "Centro de Custo"

 

Exemplo de leitura:

<script type="text/javascript">
var json = 
{page:1, total:39, 
	rows:[
		{Cod:"39",Status:"True",Departamento:"Vendas","Centro de Custo":"565656",Data:"10/26/2011 12:31:47 AM"} ,	
		{Cod:"38",Status:"True",Departamento:"Marketing","Centro de Custo":"595565",Data:"10/23/2011 6:28:56 PM"} ,
		{Cod:"37",Status:"True",Departamento:"sdasdrhf","Centro de Custo":"543 ",Data:"10/23/2011 6:18:13 PM"} ,
		{Cod:"36",Status:"True",Departamento:"asdad","Centro de Custo":"545647",Data:"10/23/2011 5:50:54 PM"}
	]
};

alert( json.page );//1


for( var i=0; i<json.rows.length; i++  )
{
var row = json.rows[ i ];
alert( row.Cod );
alert( row.Status );
alert( row['Centro de Custo'] );
alert( row.Data );
}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá William Bruno! Obrigado pelo esclarecimento. Ajudou bastante.

 

 

Porém, agora preciso trazer os dados do recordset de uma página ASP de backend.

 

E quero fazer duas perguntas.

 

1) O formato que devo usar na página de backend seria este '[{"Departamento":"<%=rs("Depto")%>","Centro de Custo":"<%=rs("CentroCusto")%>"}]' ??

 

2) No código que postou (que funcionou perfeitamente) onde eu chamaria a URL da página backend?

 

 

Obrigado

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.