HighDots Forums  

visualizzare risultati in tabelle con ajax

Javascript (Italian) Il linguaggio JavaScript (it.comp.lang.javascript)


Discuss visualizzare risultati in tabelle con ajax in the Javascript (Italian) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
massi
 
Posts: n/a

Default visualizzare risultati in tabelle con ajax - 09-26-2006 , 12:35 PM






Salve, vi spiego subito quello che vorrei fare:
inviare i dati di un form tramite ajax, e visualizzare sempre sulla
stessa pagina i risultati della query effettuata con i parametri
inviati del form, creando tante tabelle quanti sono i record ottenuti.
Il mio problema più grande è come impostare il discorso, ossia devo
farmi restituire dalla richiesta ajax le tabelle con i dati, oppure
solo i dati e le tabelle vengono create chissàcome dopo, o cosa?
Vi ringrazio anticipatamente per i suggerimenti che potrete darmi.
Thanks


Reply With Quote
  #2  
Old   
Cristiano Larghi
 
Posts: n/a

Default Re: visualizzare risultati in tabelle con ajax - 09-27-2006 , 03:23 AM






In data 26 Sep 2006 09:35:23 -0700, massi ha scritto:

Quote:
Il mio problema più grande è come impostare il discorso, ossia devo
farmi restituire dalla richiesta ajax le tabelle con i dati, oppure
solo i dati e le tabelle vengono create chissàcome dopo, o cosa?
vedi te ... se non sono tanti e restituisci tutta la struttura potrai
direttamente scriverla nella pagina con innerHTML, altrimenti dovrai
smazzarti la creazione di ogni tabella con createElement e affini.

--
"qualcuno è andato per età
qualcuno perchè già dottore
e insegue una maturità, si è sposato, fa carriera
ed è una morte un po' peggiore"
F.G.


Reply With Quote
  #3  
Old   
ZER0
 
Posts: n/a

Default Re: visualizzare risultati in tabelle con ajax - 09-27-2006 , 03:53 AM



On 26 Sep 2006 09:35:23 -0700, massi wrote:

Quote:
inviare i dati di un form tramite ajax, e visualizzare sempre sulla
stessa pagina i risultati della query effettuata con i parametri
inviati del form, creando tante tabelle quanti sono i record ottenuti.
Forse volevi dire "tante righe" quanti i record ottenuti?

Quote:
Il mio problema più grande è come impostare il discorso, ossia devo
farmi restituire dalla richiesta ajax
E' una richiesta HTTP (eseguita tramite XmlHttpRequest, suppongo); "ajax" è
un acronimo che sta a identificare una serie di tecnologie e metodologie sul
come realizzare una web application.

Quote:
le tabelle con i dati, oppure
solo i dati e le tabelle vengono create chissàcome dopo, o cosa?
Vi ringrazio anticipatamente per i suggerimenti che potrete darmi.
Se cerchi negli archivi di questo NG, troverai diverse informazioni a
riguardo nel vecchi post. Ad esempio:

http://groups.google.it/group/it.com...f082ab0cc06549

Quote:
Thanks
Prego.

--
~ "Quando ti rifiuti di imparare una lezione in un modo,
ti verrà ripresentata sotto un altro aspetto." (E.Caddy)



Reply With Quote
  #4  
Old   
ZER0
 
Posts: n/a

Default Re: visualizzare risultati in tabelle con ajax - 09-27-2006 , 03:55 AM



On Wed, 27 Sep 2006 09:23:07 +0200, Cristiano Larghi wrote:

Quote:
Il mio problema più grande è come impostare il discorso, ossia devo
farmi restituire dalla richiesta ajax le tabelle con i dati, oppure
solo i dati e le tabelle vengono create chissàcome dopo, o cosa?

vedi te ... se non sono tanti e restituisci tutta la struttura potrai
direttamente scriverla nella pagina con innerHTML, altrimenti dovrai
smazzarti la creazione di ogni tabella con createElement e affini.
Forse volevi dire il contrario.

--
~ "La malinconia è la felicità di esser tristi." (Victor Hugo)



Reply With Quote
  #5  
Old   
Cristiano Larghi
 
Posts: n/a

Default Re: visualizzare risultati in tabelle con ajax - 09-27-2006 , 04:23 AM



In data Wed, 27 Sep 2006 09:55:45 +0200, ZER0 ha scritto:

Quote:
vedi te ... se non sono tanti e restituisci tutta la struttura potrai
direttamente scriverla nella pagina con innerHTML, altrimenti dovrai
smazzarti la creazione di ogni tabella con createElement e affini.
Forse volevi dire il contrario.
perché?

--
"Run rabbit run
dig that hole, forget the sun
and when at last the work is done
don't sit down, it's time to dig another one"
P.F.


Reply With Quote
  #6  
Old   
ZER0
 
Posts: n/a

Default Re: visualizzare risultati in tabelle con ajax - 09-27-2006 , 04:27 AM



On Wed, 27 Sep 2006 10:23:15 +0200, Cristiano Larghi wrote:

Quote:
vedi te ... se non sono tanti e restituisci tutta la struttura potrai
direttamente scriverla nella pagina con innerHTML, altrimenti dovrai
smazzarti la creazione di ogni tabella con createElement e affini.

Forse volevi dire il contrario.

perché?
Perché se sono tanti, dovrebbe farsi restituire la struttura e aggiungerla
tramite innerHTML; mentre se sono pochi può optare per le API.

Ti rimando al link che ho dato a lui per ulteriore esauriente spiegazione.


--
~ Tenete la morte lontano dalle strade. Guidate sul marciapiede.



Reply With Quote
  #7  
Old   
Cristiano Larghi
 
Posts: n/a

Default Re: visualizzare risultati in tabelle con ajax - 09-27-2006 , 04:39 AM



In data Wed, 27 Sep 2006 10:27:58 +0200, ZER0 ha scritto:

Quote:
Perché se sono tanti, dovrebbe farsi restituire la struttura e aggiungerla
tramite innerHTML; mentre se sono pochi può optare per le API.
pensavo più che altro al traffico (table-tr-td sempre ripetuti, se sono
1.000 record ...)

--
"Ti sei salvato
o sei entrato in banca pure tu?"
A.V.


Reply With Quote
  #8  
Old   
ZER0
 
Posts: n/a

Default Re: visualizzare risultati in tabelle con ajax - 09-27-2006 , 04:49 AM



On Wed, 27 Sep 2006 10:39:22 +0200, Cristiano Larghi wrote:

Quote:
Perché se sono tanti, dovrebbe farsi restituire la struttura e aggiungerla
tramite innerHTML; mentre se sono pochi può optare per le API.

pensavo più che altro al traffico (table-tr-td sempre ripetuti, se sono
1.000 record ...)
Con 1.000 record ci mette di più a inserirli nel DOM (che sia tramite DOM
API o innerHTML poco importa) che a recuperarli via HTTP (ovviamente la
differenza dipende dalla connessione e dalla macchina che si ha sotto).

E prova a creare 1.000 "record" in dati tabellari tramite DOM API, e poi
prova a farlo facendoti restituire dal server direttamente il codice di
markup da inserire tramite innerHTML. In entrambi i casi sarà un'operazione
lenta, ma la differenza di tempi tra i due approcci è notevole; tanto da
sopperire tranquillamente ad un eventuale discorso di banda.

--
~ "FINARMENTE LI SFRATTATI AVRANNO UN TETTO SULLA TESTA!
....però tirato ammodino, un tegolo pe' vorta.." (Il vernacoliere)



Reply With Quote
  #9  
Old   
massi
 
Posts: n/a

Default Re: visualizzare risultati in tabelle con ajax - 09-27-2006 , 05:35 AM



Sono riuscito a risolvere il problema!
Ho preso spunto da un codice che ho trovato in un post
(http://forum.cached.it/forum/t1741-%...form-ajax.html)
e praticamente creo le tabelle con relativa formattazione nella pagina
in cui eseguo la query e poi inserisco il tutto dentro un div con:
document.getElementById('casa').innerHTML = xmlHttpReq.responseText

Purtroppo adesso detta così sembra facile e soprattutto ovvia, solo
che io ancora non ho capito bene come e cosa ottenere di solito dalla
risposta della chiamata in ajax, devo prenderci ancora confidenza.
Adesso cerco di migliorarlo un pochino lo script, casomai avessi ancora
bisogno... :-)
Ringrazio tutti per i validi consigli.
Thanks


Reply With Quote
  #10  
Old   
Max M.
 
Posts: n/a

Default Re: visualizzare risultati in tabelle con ajax - 09-27-2006 , 10:31 AM



ZER0 wrote:
Quote:
In entrambi i casi sarà un'operazione
lenta, ma la differenza di tempi tra i due approcci è notevole;
Con "notevole" che cosa intendi?

Ho allestito un semplice test, che puoi vedere qui:

http://proxy.maxim.comm2000.it/~maxi.../jstest08.html

Ho preparato una coppia di sorgenti con 1000 record, in formato JSON e in
formato HTML (table), e una coppia con 10000 record (negli stessi formati).

La funzione che usa il secondo formato tramite innerHTML è un po' più veloce
di quella che usa il primo creando le righe via DOM, ma con 1000 record mi
pare impossibile apprezzare la differenza. Con 10000 record la differenza è
appena percepibile. Questo con Firefox 1.5.0.7.

Considerando anche che una singola pagina Web con 1000 record (per non dire
10000) ha ben poco senso, mi pare che i minuscoli vantaggi in termini di
efficienza della soluzione basata su HTML+innerHTML non giustificano la
scarsa flessibilità di questa rispetto all'altra.

Non ho però provato con IE (che non ho a disposizione).

Max








Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.