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

    Attesa interminabile dopo POST

    Buongiorno a tutti, spero mi possiate aiutare con il mio problemino
    Sto creando un'applicazione web per la modellazione molecolare che permette, tra le altre cose, di scaricare la sessione di lavoro in diversi formati.
    Per farlo utilizzo del codice JavaScript che genera il contenuto di questi file di output e, sfruttando una form invisibile e un submit, li invia tramite POST ad una pagina .php (write.php) che si occupa o di visualizzarli in apposite textarea, oppure di scaricare sul terminale dell'utente un file .zip contente i file di output generati al momento, sulla base dei dati ricevuti in POST.

    Ho notato che per file di output molto grandi (generati da sistemi molecolari altrettanto grandi) la pagina write.php si apre ma rimane in fase di caricamento per lunghissimo tempo e, dato che questo non accade se faccio girare l'applicazione in locale, immagino che il problema sia del servizio di hosting e delle limitazioni sulla dimensione dei dati in POST...credo
    Inoltre, visto che la pagina .php si apre, non credo che il JavaScript abbia delle colpe in quanto il submit è (ovviamente) l'ultima operazione della funzione che eseguo.

    A questo punto vi chiedo: devo impostare qualche parametro particolare del php oppure conviene che mi inventi un modo alternativo per eseguire queste operazioni? Eventualmente pensavo di creare il file direttamente dalla pagina chiamante (per esempio sfruttando AJAX), ma non saprei proprio da dove iniziare! Qualche idea?
    Grazie mille

  2. #2
    ciao

    hai provato a vedere quanto mandi? Ricordati che per mandare un post devi 'fisicamente' trasferire informazione, quindi se l'input a write.php è nell'ordine dei MB ci metterai il tempo richiesto dal tuo uplink. Se usi Chrome ad esempio fa vedere in basso a sx l'incremento dei dati inviati durante una richiesta di tipo POST.

  3. #3
    non avevo letto l'ultimo paragrafo quindi aggiungo una precisazione

    con AJAX (che ormai ha lasciato il passo a 'cloud' come parola hipster) il risultato non sarebbe differente perchè cmq dovresti mandare le informazioni sulle strutture molecolari al server (write.php), semplicemente con l'oggetto XmlHTTPRequest questo ti è possibile farlo in maniera asincrona e senza lasciare la pagina corrente visualizzata nel browser.

  4. #4
    Originariamente inviato da Ratatuia
    hai provato a vedere quanto mandi? Ricordati che per mandare un post devi 'fisicamente' trasferire informazione, quindi se l'input a write.php è nell'ordine dei MB ci metterai il tempo richiesto dal tuo uplink.
    Prima di tutto grazie per la risposta
    Effettivamente non avevo pensato a controllare!
    Comunque credo d'averti fatto perdere tempo, perché ieri ho riassemblato le funzioni della pagina write.php che si occupava della scrittura dei file e ora ci mette massimo 3/4 secondi per inviare il testo tramite POST...devo aver eliminato quello che creava problemi!

    Originariamente inviato da Ratatuia
    con AJAX [...] il risultato non sarebbe differente perchè cmq dovresti mandare le informazioni sulle strutture molecolari al server (write.php), semplicemente con l'oggetto XmlHTTPRequest questo ti è possibile farlo in maniera asincrona e senza lasciare la pagina corrente visualizzata nel browser.
    Ma utilizzando l'oggetto XmlHTTPRequest non sono in grado di scrivere un file all'interno del server senza servirmi di PHP? Credevo che essendo anche l'AJAX un linguaggio lato server fosse tranquillamente possibile gestire file. Dico una boiata?
    Grazie ancora!

  5. #5
    Originariamente inviato da Masterplan
    Ma utilizzando l'oggetto XmlHTTPRequest non sono in grado di scrivere un file all'interno del server senza servirmi di PHP? Credevo che essendo anche l'AJAX un linguaggio lato server fosse tranquillamente possibile gestire file. Dico una boiata?
    Grazie ancora!

    ecco i danni che fa l'hype.
    AJAX non è altro che un serie di best practices che ruotano attorno all'oggetto XmlHttpRequest per interagire con il server tramite Javascript. Detto terra terra, hai la possibilità con Javascript di fare le stesse cose che fa il browser quando digiti un indirizzo nella barra degli url, invii un form o apri un link: eseguire una richiesta HTTP verso un server remoto. A meno che non reperisci una risorsa statica, devi comunque avere un backend (ad esempio write.php) per gestire tali interazioni, nè più nè meno.
    La differenza è che magari invece di inviare/ricevere un'intera pagina (con gli annessi e connessi che ha sul trasferimento di dati tra server e client e sul carico del server, se la pagina utilizza diverse risorse per essere generata), invii/ricevi solo quello che ti serve (porzioni di codice html oppure strutture dati in formato xml, json, yaml, ecc)

  6. #6
    Originariamente inviato da Ratatuia
    ecco i danni che fa l'hype.
    AJAX non è altro che un serie di best practices che ruotano attorno all'oggetto XmlHttpRequest per interagire con il server tramite Javascript. Detto terra terra, hai la possibilità con Javascript di fare le stesse cose che fa il browser quando digiti un indirizzo nella barra degli url, invii un form o apri un link: eseguire una richiesta HTTP verso un server remoto. A meno che non reperisci una risorsa statica, devi comunque avere un backend (ad esempio write.php) per gestire tali interazioni, nè più nè meno.
    Purtroppo non ho mai utilizzato AJAX e, basandomi su quel poco che avevo letto dopo l'errore che avevo riscontrato, avevo frainteso completamente il funzionamento e l'utilizzo di questo linguaggio. Grazie per la delucidazione.
    Detto questo, quindi, intuisco che nel mio caso non esiste altro modo per creare un file sul server se non quello di utilizzare il PHP passandogli il contenuto tramite POST, giusto?

  7. #7
    Originariamente inviato da Masterplan
    Purtroppo non ho mai utilizzato AJAX e, basandomi su quel poco che avevo letto dopo l'errore che avevo riscontrato, avevo frainteso completamente il funzionamento e l'utilizzo di questo linguaggio. Grazie per la delucidazione.
    Detto questo, quindi, intuisco che nel mio caso non esiste altro modo per creare un file sul server se non quello di utilizzare il PHP passandogli il contenuto tramite POST, giusto?
    Esatto, o comunque PHP o un altro linguaggio lato server. XmlHttpRequest si occupa solamente di creare un ponte tra Javascript e PHP tramite normali richieste HTTP.

  8. #8
    Originariamente inviato da Ratatuia
    Esatto, o comunque PHP o un altro linguaggio lato server. XmlHttpRequest si occupa solamente di creare un ponte tra Javascript e PHP tramite normali richieste HTTP.
    Effettivamente cambierebbe poco, e probabilmente nel mio caso creerebbe solo confusione; a questo punto meglio mettere un bel "LOADING..." accattivante e stop!
    Grazie mille per la delucidazione sull'AJAX, mi servirà sicuramente visto che pensavo di creare un file manager da aggiungere all'applicazione, e a questo punto credo che prenderò in seria considerazione l'AJAX. Che ne dici?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.