Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Javascript - [jQuery] Caricare con $.get il contenuto di una pagina in una variabile (string)
Forum - Javascript - [jQuery] Caricare con $.get il contenuto di una pagina in una variabile (string)

Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Segnala al moderatore
Postato alle 15:52
Lunedì, 25/04/2011
Ciao a tutti.
Mi sto dannando con un problema di questo genere: attraverso una funzione javascript che utilizza jquery vorrei caricare il contenuto della mia pagina php in una variabile (di tipo stringa ovviamente) da poter usare comodamente come mi pare.

Ho realizzato semplicemente questo:
Codice sorgente - presumibilmente Javascript

  1. function loadContent(paramID, paramTITLE)
  2. {
  3.   var pageContent = "Data Loaded: ";
  4.  
  5.   $.get("/PHP/loadContent.php",
  6.     {
  7.       id: ""+paramID,
  8.       title: ""+paramTITLE
  9.     },
  10.     function (data) {
  11.       pageContent = data;
  12.     });
  13.  
  14.   document.write(pageContent);
  15. }



la pagina "/PHP/loadContent.php" viene chiamata correttamente con i parametri esatti: ho provveduto a creare un file di error log nel caso in cui i parametri fossero sbagliati e non leggesse nulla dal database. Così se raggiungo direttamente la pagina con quei parametri, va tutto bene, con jQuery non riesco a rendere valida quella dannata variabile pageContent.

Qualche consiglio/soluzione?

Grazie anticipatamente

Ultima modifica effettuata da a_butta il 25/04/2011 alle 15:54


PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Up
1
Down
V
Segnala al moderatore
Postato alle 12:13
Martedì, 26/04/2011
Codice sorgente - presumibilmente Delphi

  1. var pageContent = "";
  2.  
  3. function findIf()
  4. {
  5.   if(content <> "")
  6.   {
  7.     document.write(pageContent);
  8.   } else {
  9.     setTimeout(findIf, 2000);
  10.   }
  11. }
  12.  
  13. function loadContent(paramID, paramTITLE)
  14. {
  15.   pageContent = "";
  16.   $.get("/PHP/loadContent.php",
  17.     {
  18.       id: ""+paramID,
  19.       title: ""+paramTITLE
  20.     },
  21.     function (data) {
  22.       pageContent = data;
  23.     });
  24.   findIf();
  25. }



Serve eseguire la funzione più volte finchè i dati non cambiano perchè $.get è una chiamata asincrona!
Comunque credo che si possa inserire i comandi da eseguire all'interno della funzione:

Codice sorgente - presumibilmente Javascript

  1. function Readed(pageContent)
  2. {
  3.   document.write(pageContent);
  4. }
  5.  
  6. function loadContent(paramID, paramTITLE)
  7. {
  8.   $.get("/PHP/loadContent.php",
  9.     {
  10.       id: ""+paramID,
  11.       title: ""+paramTITLE
  12.     }, Readed);
  13. }



Se spiegassi ciò che vuoi fare al posto di document.write(pageContent); sarebbe più facile rispondere! :k:

+1 - pierotofy - 26/04/11 16:06
PM
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6207
Iscritto: 04/12/2003

Up
0
Down
V
Segnala al moderatore
Postato alle 16:39
Lunedì, 25/04/2011
Sposta:

Codice sorgente - presumibilmente Plain Text

  1. document.write(pageContent);



All'interno di:

Codice sorgente - presumibilmente Javascript

  1. function (data) {
  2.       pageContent = data;
  3.       document.write(pageContent);
  4. }


Ehm... il problema è proprio il contrario: vorrei portare il contenuto di DATA da dentro la funzione a fuori. Il document.write(pageContent) è solo una verifica della variabile, che dovrebbe essere usata poi in altro modo... - a_butta - 26/04/11 01:46
Dichiara una variabile globale all'estero di loadContent "var pageContent", dopodichè quando ricevi la variabile data semplicemente assegnala alla variabile globale. - pierotofy - 26/04/11 16:05


Fai quello che ti piace, e fallo bene.
PM