Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Ajax: innerHTML obbligatorio?

    Ciao a tutti, sono alle prime armi con Ajax e ho notato che per caricare pezzi di codice dinamicamente si usa innerHTML, comando che a detta di molti è poco standard e problematico.
    Ci sono alternative, oppure va bene così?

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    sì, le alternative ci sono

    e sono costituite dai metodi nativi .createElement() e .appendChild() che ti consentono di creare ed appendere nodi ad un documento.

    http://developer.mozilla.org/en/docs....createElement
    http://developer.mozilla.org/en/docs...nt.appendChild

    innerHTML può dare alcuni problemi pratici (ad esempio il dover comporre una stringa da injectare nell'elemento, avere dei riferimenti dei nodi inseriti tramite metodi del DOM, avere un comportamento congruente su tutti i browser)

    Però su un numero elevato di elementi (nell'ordine delle migliaia e oltre) e per certi elementi (tabelle) a livello di performance è migliore.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Ciao fcaldera, grazie per la risposta completa.

    In effetti mi spaventava dover gestire "a mano" tramite append e create situazioni dove gli elementi sono moltissimi.

    Adesso mi studio meglio i link che mi hai passato.

    Di nuovo grazie

  4. #4
    AH aspetta però, ripensandoci:

    nel caso io debba caricare tramite ajax una bella paginona generata da php, sono obbligato (almeno da quanto ho potuto capire) ad usare innerHTML, altrimenti dovrei usare nella pagina php altro codice js per costruirmi l'output - tramite appendChild e createElement()...
    No?

  5. #5
    Originariamente inviato da Tobler
    AH aspetta però, ripensandoci:

    nel caso io debba caricare tramite ajax una bella paginona generata da php, sono obbligato (almeno da quanto ho potuto capire) ad usare innerHTML, altrimenti dovrei usare nella pagina php altro codice js per costruirmi l'output - tramite appendChild e createElement()...
    No?
    Ciao.
    Da php puoi farti ritornare
    semplice txt xhtml o json con responseText
    oppure xml con responseXML

    dai un occhio qui per chiarirti le idee.


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  6. #6
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Originariamente inviato da Tobler
    AH aspetta però, ripensandoci:

    nel caso io debba caricare tramite ajax una bella paginona generata da php, sono obbligato (almeno da quanto ho potuto capire) ad usare innerHTML, altrimenti dovrei usare nella pagina php altro codice js per costruirmi l'output - tramite appendChild e createElement()...
    No?
    a settembre troverai (spero) un articolo su html.it a riguardo
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  7. #7
    Fantastico, grazie ancora a tutti per i suggerimenti.

    Aspettando settembre

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.