Problema Performance AJAX

3 respostas
R

Ola,

Estou exibindo um lista em uma página através do AJAX e verifiquei que ele esta meio “lento” para fazer o parser do XML, comparado ao parser feito por um programa Java.
Alguém poderia me dar uma dica para “turbinar” a exibição da lista. Ou se existe outra forma de fazer a exibição da lista ?
A lista poderá conter até 500 registros. Abaixo trecho do código.

for(i=0;i<req.responseXML.getElementsByTagName(“documento”).length;i++){

achouDoc = true;
 var documento = req.responseXML.getElementsByTagName("documento")[i];    

 var numero = getElementContent(documento,"numero",0);

3 Respostas

C

pqp, escrevi maior exemplo e porra do servidor barrou e perdeu tudo.

Use iframe, o servidor monta o a pagina no iframe. Dai hora que chega no cliente vc adiciona na pagina atual oq tiver no iframe.

R

Celino,

Obrigado por responder…

Nunca usei iFrame … vc teria algum exemplo ai ? Pesquisei na internet mas esta dificil de encontrar…

Obrigado
Renato.

C

PS.: Substitui o sinal de maior e menor nas tags html pq forum barrava.

Exemplo: Existe uma grid de dados, o usuário clica no botão buscar dados
o iframe dispara a vai de modo assincrono com a pagina principal buscar os dados.
Esses dados são mais linhas para grid.

Página principal

&html&
&body&

&script&
	function buscaDados&#40;&#41; &#123;
		window.frames.buscaDados.location = "'/myServlet/acao='buscaDados'&outrosParametros='outrosValores'";
	&#125;
&/script&

&table id="myTable"&
	&tr&
		&td&linha&#58;&/td&
		&td& 1 &/td&
	&/tr&
&table&
&input type="button" onclick="javascript&#58;buscaDados&#40;&#41;;"&

&!-- iframe que vai buscar os dados --&
&iframe name="buscaDados" style="display&#58;none"&

&/body&
&/html&

Chegando a requisição no seu servlet vc busca os dados necessários e monta sua jsp + ou - assim…

IFrame montado pelo servidor…

&table id="novosDados"&
	&tr&
		&td&linha&#58;&/td&
		&td& 2 &/td&
	&/tr&
	&tr&
		&td&linha&#58;&/td&
		&td& 3 &/td&
	&/tr&
&/table&

&script&
	// vai atualizar os dados na pagina principal
	// quando são muitos dados inves de usar ajax é melhor usar iframe
	// pois vc pode montar a pagina no servidor, e fica mais facil e simples
	// pro cliente além de mais rapido pq o javascript é bem lerdo. &#40;Browser&#41;

	var myTable = parent.document.getElementById&#40;"myTable"&#41;;
	var novosDados = document.getElementById&#40;"novosDados"&#41;;

	myTable.innerHTML += novosDados.innerHTML; 

&/script&

Desculpe o português (So analfabeto msm).

Criado 20 de abril de 2006
Ultima resposta 23 de abr. de 2006
Respostas 3
Participantes 2