Pagina 2 di 2 PrimoPrimo 12
Visualizzazione risultati 31 fino 48 di 48

Discussione: [ajax] Aggiornamento pagina

  1. #31
    Guest

    Predefinito

    ti garantisco che è una cosa molto comune... :)


    ... e utile ;)

  2. #32
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Come ha già scritto ProjectFede, è una pratica più che diffusa ma non comporta alcun problema, al massimo una leggerissima diminuzione delle prestazioni (ma comunque il risultato varia sempre dal motore Javascript), ma nel tuo caso è del tutto trascurabile.
    Se non fornisci un argomento oggettivo per il quale non condividi questa implementazione è difficile discuterne.

  3. #33
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Non guardavo a questioni di efficienza, mi limitavo a dire che mi sembrava meno leggibile e comunque meno "bella" da un punto di vista "stilistico"...ovviamente la cosa è soggettiva.
    Mi chiedevo dunque se fosse possibile un'alternativa che non prevede questa pratica :)

  4. #34
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Un'ultima questione...vorrei fare in modo che quando clicco su un bottone che richiama la funzione in discussione sopra compaia una rotella di caricamento nel div in cui poi inserirò il file da includere, e che sparisca quando l'inclusione è stata completata...è possibile?

  5. #35
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Ancora un piccolo problemino...
    Il codice che ho usato è questo:
    Codice:
    function load(URL, element){
            sendRequest('wait.php', handleRequest);
    	sendRequest(URL, handleRequest);
    	function handleRequest(req){
    		element.innerHTML = req.responseText;
    	}
    }
    Dove wait.php contiene la scritta "caricamento in corso".
    Il problema è che una volta ogni tanto (parlo di una su 20 o 30 credo) compare la scritta "caricamento in corso" ma poi rimane quella e non viene più caricato il file URL.
    Può essere dovuto al fatto che quella volta su 20 arriva prima la risposta del file URL e poi quella del wait.php?
    Come posso rimediare?

  6. #36
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Perché non mettere la scritta direttamente nell'elemento?
    Codice:
    function load(URL, element){
    	element.innerHTML = 'Caricamento in corso';
    	sendRequest(URL, function(req) {
    		element.innerHTML = req.responseText;
    	} );
    }

  7. #37
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Era perchè in realtà non è solo una scritta ma ci sono vari elementi (div, scritte, immagini) che compongono la schermata di attesa)...dici che può essere questo il problema?

  8. #38
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Non ha semplicemente senso caricare dall'esterno la scritta di caricamento (neppure se non è solamente una banale scritta), la includi nel documento caricante come ti ha mostrato Dreadnaut.

  9. #39
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Beh il senso è di evitare di scrivere una pagina di codice php all'interno di una funzione js.
    Effettivamente facendo come dite il problema è risolto...ma poteva essere causato dal fatto che la risposta alla prima richiesta arrivava dopo la risposta alla seconda? Cioè al fatto che sono richieste asincrone?

  10. #40
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Certamente, il problema è quello. Potresti eseguire la prima in modo sincrono andando a toccare sendRequest ma rallenteresti il tuo sito inutilmente.

    Il problema è che vuoi mostrare qualcosa di troppo complesso al caricamento; usa un messaggio più semplice.

  11. #41
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Anche per curiosità...in che modo potrei "toccare" la sendRequest per eseguire la prima in modo sincrono?

  12. #42
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    E' il terzo parametro quando crei una XMLHttpRequest

  13. #43
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Ho letto ma non avendo molta confidenza con AJAX non mi è chiaro come modificare la mia funzione...io non richiamo mai questa funzione open giusto? Come posso modificare il codice dunque?

  14. #44
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Ti ricordi, una pagina fa, che stavamo parlando di prendere del codice da una guida online, che conteneva una funzione sendRequest()?

    Hai guardato nella funzione?

  15. #45
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Quindi devo scrivere:
    Codice:
    req.open(method,url,false);
    ?
    Cioè dovrei definire in realtà una sendRequest sincrona e una asincrona?

  16. #46
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Quello, oppure aggiungi un parametro alla funzione.

  17. #47
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Grazie! ;) Un'ultima cosa...se la prima chiamata la faccio sincrona e la seconda asincrona, la seconda non viene chiamata finchè non ricevo la risposta della prima?

  18. #48
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    L'idea non è molto intelligente, ma è quella.

Pagina 2 di 2 PrimoPrimo 12

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •