Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150

    [JS] Creare una struttura a piu' livelli da passare a JSON

    Ciao,
    devo passare una struttura a piu' livelli simile a questa prelevata da questo sito
    http://www.hunlock.com/blogs/Masteri...%29#quickIDX10

    codice:
    var employees = { "accounting" : [   // accounting is an array in employees.
                                        { "firstName" : "John",  // First element
                                          "lastName"  : "Doe",
                                          "age"       : 23 },
                                        
                                        { "firstName" : "Mary",  // Second Element
                                          "lastName"  : "Smith",
                                          "age"       : 32 }
                                      ], // End "accounting" array.                                  
                      "sales"       : [ // Sales is another array in employees.
                                        { "firstName" : "Sally", // First Element
                                          "lastName"  : "Green",
                                          "age"       : 27 },
                                        
                                        { "firstName" : "Jim",   // Second Element
                                          "lastName"  : "Galley",
                                          "age"       : 41 }
                                      ] // End "sales" Array.
                    } // End Employees
    Ora...
    Non ho capito come crearla in Ajax.

    Ovvero.
    Una struttura ad un livello la so creare

    codice:
    // definizione Object
    var arrayFileJson=new Object();
    
    // recupero variabili
    var typeCreateXml=$(this).val().substr(0,1);
    var idFile=$(this).val().substr($(this).val().indexOf('_')+1);
    
    //assegno variabili
    arrayFileJson.idFile=idFile;
    arrayFileJson.type=typeCreateXml;
    ...
    Sicuramente e' una stupidata, ma non ci riesco.

    Grazie in anticipo.
    Ciao

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    non ho capito: quella struttura dati la ricevi o la vuoi inviare al server via ajax?
    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
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Originariamente inviato da fcaldera
    non ho capito: quella struttura dati la ricevi o la vuoi inviare al server via ajax?
    La voglio inviare.

    Lo schema e' questo

    1. pagina utente
    2. chiamo Ajax
    3. (ajax) recupero i valori della pagina
    4. (ajax) creo struttura "complessa"
    5. (ajax) Invio struttura via Json a php
    6. (php) leggo dati struttura
    7. (php) Estraggo valori da DB
    8. (php) genero un XML

    Il punto 4 non mi e' chiaro

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Credo di cominciare a capire.
    Questo e' il codice, se gli potete dare un'occhiata, anche se e' solo all'inizio

    Codice PHP:
        $("p").click(function () {
            var 
    baseUrl   "http://server.local";
            var 
    indexObject=0;

            
    arrayData = new Object();
     
            $(
    '.xml_row :checked').each(function() {
                var 
    typeCreateXml=$(this).val().substr(0,1);
                var 
    idFile=$(this).val().substr($(this).val().indexOf('_')+1);

                switch(
    typeCreateXml)
                {
                    case 
    'c':
                        
    // We need only the id file
                        
    break;
                    case 
    'm':
                        
    // Get all information
                        
    $('#xml_modify_main_'+idFile+' :checked').each(function() {
                            var 
    stepNum=parseInt($(this).val().substr(15,2));
                        });
                        
                        break;
                    case 
    's':
                        
    // Get all information
                        
    .....
                        break;
                }

                
    arrayData[indexObject]={idFile:idFile,
                                                   
    type:typeCreateXml};

                
    indexObject=indexObject+1;
            });

            
    console.log(arrayData);

    //            var destUrl = baseUrl + "/asyncrequest/create-xml/idFile/" + idPatron;

        
    }); 

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Ho risolto, cosi'

    Codice PHP:
        $("p").click(function () {
            var 
    baseUrl   "http://server.local";
                var 
    indexObject=0;
                var 
    indexStep=0;
            
            
    arrayData = new Object();
            
     
            $(
    '.xml_row :checked').each(function() {

                
    stepData = new Array();

                var 
    typeCreateXml=$(this).val().substr(0,1);
                var 
    idFile=$(this).val().substr($(this).val().indexOf('_')+1);
                var 
    indexStep=0;

                switch(
    typeCreateXml)
                {
                    case 
    'c':
                        
    // We need only the id file
                        
    break;
                    case 
    'm':
                        
    // Get all information
                        
    $('#xml_modify_main_'+idFile+' :checked').each(function() {
                            
    stepData[indexStep]=parseInt($(this).val().substr(15,2));
                            
                            
    indexStep=indexStep+1;
                        });
                        break;
                    case 
    's':
                        
    // Get all information
                        
    break;

                }

                if(
    typeCreateXml!='x'){
                    
    arrayData[indexObject]={
                        
    idFile:idFile,
                        
    type:typeCreateXml,
                        
    step:stepData
                    
    };

                    
    indexStep=0;

                }

                
    indexObject=indexObject+1;
            });

            
    console.dir(arrayData);

    //          var destUrl = baseUrl + "/asyncrequest/create-xml/idFile/" + idPatron;

        
    }); 

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