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);
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.
Celino,
Obrigado por responder…
Nunca usei iFrame … vc teria algum exemplo ai ? Pesquisei na internet mas esta dificil de encontrar…
Obrigado
Renato.
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() {
window.frames.buscaDados.location = "'/myServlet/acao='buscaDados'&outrosParametros='outrosValores'";
}
&/script&
&table id="myTable"&
&tr&
&td&linha:&/td&
&td& 1 &/td&
&/tr&
&table&
&input type="button" onclick="javascript:buscaDados();"&
&!-- iframe que vai buscar os dados --&
&iframe name="buscaDados" style="display: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:&/td&
&td& 2 &/td&
&/tr&
&tr&
&td&linha:&/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. (Browser)
var myTable = parent.document.getElementById("myTable");
var novosDados = document.getElementById("novosDados");
myTable.innerHTML += novosDados.innerHTML;
&/script&
Desculpe o português (So analfabeto msm).