Back to top

Autore Topic: problema parsing stringa JSON con mootools  (Letto 2725 volte)

Offline dragoalato1988

  • Nuovo arrivato
  • *
  • Post: 12
  • Sesso: Maschio
    • Mostra profilo
problema parsing stringa JSON con mootools
« il: 08 Ott 2011, 22:51:08 »
salve ragazzi, vi chiedo un aiuto con mootools.


sto creando una piccola applicazione dove alla selezione di una opzione da una select motools tramite ajax, manda una richiesta al controller che gli risponde tornando in dietro il risultato in codifica json.


lo script è questo
Codice: [Seleziona]

<script language="javascript">
   window.addEvent('domready', function() {
     
     


      //apro l'evento del select box profilo
      $('profilo').addEvent('change', function(event) {
      var event = new Event(event).stop();
     
      var selection = document.getElementById("profilo").value;     
      var data = 'idprofilo='+selection;
     
     
      var ajax = new Ajax('index.php?option=com_wisp&controller=billing&task=json&format=raw', {
     
         data:data,
         update: $('nomeservizio'),
         onRequest: function() {
            this.options.update.setHTML("Loading...");
         },
         onComplete: function(text) {
            var stringa = Json.evaluate(text)
            this.options.update.setHTML(stringa);
           
         },
         onFailure: function() {
            this.options.update.setHTML("Il profilo non è stato trovato correttamente");
         }
      });


        ajax.request();
     
      });
     
      // chiufo la select box profilo
     
   });






ora il risultato che mi stampa è [object Object].

il contenuto della stringa è [{"srvname":"Prepagato 24 ore di connessione da ora","downrate":"2097152"}]
quello che vorrei fare è estrapolare dal risultato json il singolo valore ad esempio
<div id="srvname" > Json->srvname <>
come posso fare? sarò grado a chi mi possa illuminare

mau_develop

  • Visitatore
Re:problema parsing stringa JSON con mootools
« Risposta #1 il: 08 Ott 2011, 23:47:37 »
difficile capire cosa stai facendo, quella task json nel controller billing cosa fa? che dati raw unisce alla view raw

M.

Offline dragoalato1988

  • Nuovo arrivato
  • *
  • Post: 12
  • Sesso: Maschio
    • Mostra profilo
Re:problema parsing stringa JSON con mootools
« Risposta #2 il: 09 Ott 2011, 00:03:10 »

Ti ringrazio per avermi risposto.



Codice: [Seleziona]

      function json()
      {
         $ricevuti = JRequest::getVar('idprofilo');
       
       
       
             $dbxo = new externaldatabase ( 'radius' ); 
             $db = $dbxo->getDB ();
             $query = "SELECT srvname, downrate FROM rm_services WHERE srvid = '".$ricevuti."'";
             $db->setQuery( $query );
             $ricevuti = $db->loadAssocList();
                if ($db->getErrorNum()) {
                   echo $db->stderr();
                      return false;
                    } 
         
         
         
         $response = $ricevuti;
           
      echo json_encode($response);
      }
}




questo è quello che c'è nel controller


mau_develop

  • Visitatore
Re:problema parsing stringa JSON con mootools
« Risposta #3 il: 09 Ott 2011, 12:09:19 »
perchè c'è un echo e non un return? ..debug?
Si vede qualcosa?

Sicuro che la query ritorni qualcosa? provato a fare un dump di quella query?

M.

Offline dragoalato1988

  • Nuovo arrivato
  • *
  • Post: 12
  • Sesso: Maschio
    • Mostra profilo
Re:problema parsing stringa JSON con mootools
« Risposta #4 il: 09 Ott 2011, 17:40:22 »
bè dalle prove che effettuo se inserisco "return" non mi da nulla.


invece stampo a monitor la rica "echo json_encode($response);", il risultato prodotto se apro l'indirizzo all'link "index.php?option=com_wisp&controller=billing&task=json&format=raw"


mi da il seguente risultato "[{"srvname":"Prepagato 24 ore di connessione da ora","downrate":"2097152"}]"
questo risultato viene letto dalla funsione onComplete.
Codice: [Seleziona]

onComplete: function(text) {
            var stringa = Json.evaluate(text)
            this.options.update.setHTML($stringa);
           
         },


quello che mi servirebbe e poter giocare con i risultati. in poche parole vorrei rendere il risultato separato cosi da estrapolare il valore di "srvname" e stamparlo in un div o un <a>
« Ultima modifica: 09 Ott 2011, 17:41:59 da dragoalato1988 »

mau_develop

  • Visitatore

Offline dragoalato1988

  • Nuovo arrivato
  • *
  • Post: 12
  • Sesso: Maschio
    • Mostra profilo
Re:problema parsing stringa JSON con mootools
« Risposta #6 il: 09 Ott 2011, 18:29:04 »
sono a conoscenza del json_decode il fatto è che il risultato deve essere modificato in rial time con ajax.


mi serve che alla funzione onComplete, lo script mi vada a prendere i valori della stringa json e me li vada a stampare al volo nei div.


è possibile farlo con Json.evaluate?

Offline dragoalato1988

  • Nuovo arrivato
  • *
  • Post: 12
  • Sesso: Maschio
    • Mostra profilo
Re:problema parsing stringa JSON con mootools
« Risposta #7 il: 09 Ott 2011, 21:27:48 »
ci sto sbattendo la testa ma nulla. devo trovare l'equivalelente di json_decode ma in mootools.
il bello è che le funzioni le ho trovate ma per mootools ultima relase.
a me serve poter estrapolare i dati singoli dalla stringa

[{"srvname":"Prepagato 24 ore di connessione da ora","downrate":"2097152"}]
che tra l'altro usando la funzione $type di mootools mi dice che è un array, mentre il risultato  della funzione Json.evaluate è [object Object]
come posso risolvere secondo te?

Offline webbati

  • Esploratore
  • **
  • Post: 116
    • Mostra profilo
Re:problema parsing stringa JSON con mootools
« Risposta #8 il: 24 Ott 2011, 16:02:13 »
Ciao, secondo me dato che json.evaluate restituisce un'oggetto proverei così:

Codice: [Seleziona]
onComplete: function(text) {
            var stringa = Json.evaluate(text),
            this.options.update.setHTML(stringa.srvname);
           
         },



ciao
« Ultima modifica: 02 Nov 2011, 17:14:52 da webbati »

 



Web Design Bolzano Kreatif