Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Su AJAX

  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    Su AJAX

    Sto cercando di capire un poco la tecnologia AJAX e vi pongo qualche domanda:

    1) avreste qualche link serio su AJAX con esempi un poco completo?

    2) In un esempio ho visto questo:
    xmlhttp.setRequestHeader("Connection", "close");
    domanda: allora esiste pure la possibilità di lasciare aperta la connessione?Sì, ma come funziona?


    3) Se la risposta fosse per esempio l'ora del server, come si può ottenere ciò in modo continuo?Facendo una interrogazione al server ogni secondo con SetInterval?

    Grazie a tutti.
    Pietro

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    1) Sul forum se n'+ già parlato... basta fare una ricerca

    2) Per sentito dire, quel codice dovrebbe chiudere un bug di un browser ma nn ricordo se IE o FF. (Può darsi che sia un interpretazione riduttiva...)

    3) In effetti potresti fare anche con un setinterval che chiama la funzione che apre la connessione asincrona passando anche il nome della funzione che manda in ouput l'ora

    (ovviamente non è il caso di ricorrere ad ajax per l'ora, tanto vale usare una linea in PHP o ASP)
    Vuoi aiutare la riforestazione responsabile?

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

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da fcaldera
    1) Sul forum se n'+ già parlato... basta fare una ricerca

    2) Per sentito dire, quel codice dovrebbe chiudere un bug di un browser ma nn ricordo se IE o FF. (Può darsi che sia un interpretazione riduttiva...)

    3) In effetti potresti fare anche con un setinterval che chiama la funzione che apre la connessione asincrona passando anche il nome della funzione che manda in ouput l'ora

    (ovviamente non è il caso di ricorrere ad ajax per l'ora, tanto vale usare una linea in PHP o ASP)

    1) è vero, nel forum se ne è già parlato, infatti ho visto i tuoi interventi ed ho utilizzato i link da te consigliati


    3) la lettura dell'ora era ovviamente un esempio

    Ciao
    Pietro

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    riprendo questo thread, vista la stretta correlazione del mio post:


    Sviluppando una classe per AJAX ho inizialmente evitato l'uso delle istruzioni

    codice:
    xmlhttp.setRequestHeader("Connection", "close"); 
    xmlhttp.setRequestHeader("Contet-Length", data.length);
    successivamente ho notato che, non inserendo questi headers in una richiesta POST mi succedeva il problema descritto in questo thread:

    http://forum.html.it/forum/showthrea...ghlight=thread

    mentre il loro uso riporta tutto alla normalità. Suggerisco quindi l'uso dei predetti headers per fare una richiesta via post con ajax. Secondo voi come possono influire questi headers (e soprattutto come influiscono la loro mancanza) in una richiesta asincrona al server?
    Vuoi aiutare la riforestazione responsabile?

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

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ho provato ajax da ieri (quasi) e mi sono accorto che queste istruzioni servono:
    codice:
    objHTTP.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    objHTTP.setRequestHeader('Content-length',parametri.length);
    objHTTP.setRequestHeader('Connection', 'close');
    Senza, la pagina richiesta non riconosce le sessioni, non si possono utilizzare le istruzioni request.form, ci sono problemi con la connessione access...

    Pietro

  6. #6
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    bè il primo header nemmeno a discuterne, ma a questo punto mi appare chiaro come la loro mancanza generi parecchia confusione al server.

    E vorrei tanto capire il perchè. Forse se non si esplicita la chiusura della connessione rimangono aperte troppe connessioni aperte al DB e questo a lungo andare lo blocca.

    Ma la cosa strana è che anche riavviando apache e mysql il problema persisteva...

    Qualche anima pia che ci possa delucidare???
    Vuoi aiutare la riforestazione responsabile?

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

  7. #7
    Originariamente inviato da fcaldera
    bè il primo header nemmeno a discuterne, ma a questo punto mi appare chiaro come la loro mancanza generi parecchia confusione al server.

    E vorrei tanto capire il perchè. Forse se non si esplicita la chiusura della connessione rimangono aperte troppe connessioni aperte al DB e questo a lungo andare lo blocca.

    Ma la cosa strana è che anche riavviando apache e mysql il problema persisteva...

    Qualche anima pia che ci possa delucidare???
    il primo header dovrebbe essere già di default, se non erro le richieste usando AJAX (ergo usando il DOMXML W3C) il POST è usato di default. E mi pare insensato fare una richiesta post senza che il browser invii quel tipo di header
    Per il secondo ... beh è abbastanza normale che si comporti cosi Infatti di default le connessioni dei browser sono Keep-Alive e quindi la connessione rimane aperta per N tempo fin quando il webserver non la chiude. Ovviamente questo stesso discorso si poteva fare usando istruzioni server-side forzando il browser ed il server a chiudere la connessione specificando quell'header nella risposta.
    Il terzo header non l'ho mai usato e la sua mancanza non ha mai dato problemi dato che lo inserisce il browser al momento dell'esecuzione della richiesta e probabilmente viene sovrascritto dal browser se viene impostato.


  8. #8
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    in effetti avevo dimenticato che le connessioni fossero keep-alive... Comunque in sintesi mi appare strano che

    1) Il riavvio del server apache e di mysqld (io uso XAMPP 1.4.15 in locale) non risolveva il problema.

    2) di tutta la letteratura in rete relativa ad Ajax (di una certa rilevanza) ci sia un solo esempio in cui c'e' la chiusura della connessione (o almeno io ne ho trovato uno solo e precisamente qui: http://bazzinet.info/JS-Request

    Ciao!
    Vuoi aiutare la riforestazione responsabile?

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

  9. #9
    1° beh ... è abbastanza strano, si, ma magari dopo che la connessione veniva chiusa il browser se ne era andato in pappa ... che browser hai usato? hai fatto le prove con + browsers?

    2° in realtà, siccome è + una cosa server side che client side andrebbe sistemato nello script inviando l'apposito header

  10. #10
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    1) Ho provato con IE6 e FF 1.0.4 ma il risultato era praticamente identico con la sola differenza che con IE il sistema andava in pappa molto prima.

    2) Ma se lo script chiamato con ajax termina con un die() o un response.end (a seconda che sia PHP o ASP) non è come dirgli che la connessione deve essere chiusa? :master:
    Vuoi aiutare la riforestazione responsabile?

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

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.