Pagina 2 di 37 primaprima 1 2 3 4 12 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 366
  1. #11
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    io invece, davanti allo stesso problema, ho preferito far creare a PHP una stringa già pronta da passare ad una funzione javascript: se ad esempio il mio script php mi restituisce un array (memorizzato nella variabile $output), lo converto in modo che possa essere usato direttamente da JS


    codice:
        $output = strval(serialize($output));
        echo $output  // array serializzato                    
    
        if (preg_match("/a: (\d+):\{/i", $output)) {
                            
            $search[] = "/a: (\d+):\{/i";
            $search[] = "/\}/i";
            $search[] = "/[^a]:\d+/i";
            $search[] = "/;/i";
            $search[] = "/\(:\"[^\"]+\":/i";
            $search[] = "/:\"[^\"]+\":/i";
            $search[] = "/\)new/i";
                            
            $replace[] = "new Array(";
            $replace[] = ")";
            $replace[] = "";
            $replace[] = "";
            $replace[] = "(";
            $replace[] = ", ";
            $replace[] = "), new";
                            
            $output = preg_replace($search, $replace, $output);
            echo $output  // array adatto per js
       }
    Nella funzione JS faro eval(output) per riavere la stessa struttura.

    Ciao
    Vuoi aiutare la riforestazione responsabile?

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

  2. #12
    Ciao Fabio

    Originariamente inviato da Fabio Heller
    Sicuramente usarlo nel formato Actionscript lo rende più intuitivo e immediato da utilizzare.
    nonche' gia' documentato, un vantaggio di niente



    Originariamente inviato da Fabio Heller
    Non l'ho ancora testato, hai fatto anche in modo che se la pagina che emette il response butta fuori un

    variabile=valore il loadVars Javascript al caricamento conterrà variabile tra le sue proprietà?
    hai presente il LoadVArs di Flash MX o MX 2004 ??? ... identico, ma non per finta, proprio identico, tutti i metodi , tutti gli stessi comportamenti, unico "neo" voluto e' l' onData, chiamato solo su errori e non sempre ( che per me era un bug di MX poiche' difficile da gestire se chiamato sempre )

    esempio ???
    codice:
    // JavaScript
    var jsloadvars = new LoadVars();
    jsloadvars.onLoad = function(s) {
    	if(s) // this.info e' interno a jsloadvars ;)
    		alert(this.info);
    	else
    		alert('Error');
    }
    jsloadvars.load('mypage.php');
    Codice PHP:
    <?php
    $output 
    'info=Hello World';

    // solo se vuoi un preload fatto da te
    header('Content-Length: '.strlen($output));

    echo 
    $output;
    ?>
    noti somiglianze a Flash ??? .... no, identico


    Originariamente inviato da Fabio Heller
    In ogni caso in questo thread avevo usato XMLHTTP solo per mostrare un utilizzo delle classi che traducono PHP in JS e viceversa, per il LoadVars JS sarebbe forse utile una pillola apposita nel forum di Scripting
    la faro' datemi tempo
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #13
    Originariamente inviato da fcaldera
    io invece, davanti allo stesso problema, ho preferito far creare a PHP una stringa già pronta da passare ad una funzione javascript: se ad esempio il mio script php mi restituisce un array (memorizzato nella variabile $output), lo converto in modo che possa essere usato direttamente da JS
    Ciao Fcaldera,

    perchè far serializzare i dati a PHP e poi successivamente trasformarli di nuovo attraverso le espressioni regolari?

    E se quello che vuoi passare da PHP a Js è una struttura complessa, ad esempio un unico oggetto che contiene array o array di array o altri oggetti?

    L'idea di base era quella di far lavorare il meno possibile il lato server e spostare la trasformazione sul client
    per favore NIENTE PVT TECNICI da sconosciuti

  4. #14
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    se ho un array in php e voglio usarlo in una funzione js devo fare due cose:

    1) avere una rappresentazione della struttura dell'array (e per questo posso usare serialize o var_export);
    2) devo trasformare tale rappresentazione in qualcosa di comprensibile per js.

    Il punto 2) può essere fatto sia da PHP che da Js, ma visto che stiamo parlando di espressioni regolari, preferisco far fare il lavoro a php. Senza contare che il client ha meno codice da processare e quindi questo è anche più veloce


    Cmq ho notato che serialize ha un comportamento strano con array le cui chiavi sono del tipo "0", "100",... cioè con numeri racchiusi tra apici doppi. Le considera chiavi di tipo intero anzichè stringhe... è normale??

    Ciao

    Vuoi aiutare la riforestazione responsabile?

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

  5. #15
    Originariamente inviato da fcaldera
    se ho un array in php e voglio usarlo in una funzione js devo fare due cose:

    1) avere una rappresentazione della struttura dell'array (e per questo posso usare serialize o var_export);
    2) devo trasformare tale rappresentazione in qualcosa di comprensibile per js.

    Il punto 2) può essere fatto sia da PHP che da Js, ma visto che stiamo parlando di espressioni regolari, preferisco far fare il lavoro a php. Senza contare che il client ha meno codice da processare e quindi questo è anche più veloce
    Per tradurre da PHP a JS non farei un doppio passaggio da
    serializzazione + espressioni regolari (anche perchè quando l'oggetto è complesso e annidato a diverse profondità l'espressione diventa complessa e richiede parecchio lavoro lato server).
    Secondo me le soluzioni vantaggiose possibili sono 3
    1) Una classe come quella di questa pillola
    2) Tradurre da PHP a XML e poi far fare fare il parsing dell'XML a Javascript (non tutti i browser sono attrezzati ma la maggior parte di quelli recenti supporta DOM e XPATH)
    3) Trasformare intere strutture PHP in stringhe JS come avviene in certi framework

    In ogni caso bisognerebbe sempre spostare più lavoro possibile sul client anzichè sul server


    Cmq ho notato che serialize ha un comportamento strano con array le cui chiavi sono del tipo "0", "100",... cioè con numeri racchiusi tra apici doppi. Le considera chiavi di tipo intero anzichè stringhe... è normale??
    Non è una cosa tanto simpatica, ma è così...
    deriva dal fatto che tutti gli array in PHP (anche quelli con chiavi numeriche) sono associativi, pertanto si è deciso di non distinguere le chiavi numeriche pure dalle chiavi letterali che contengono un numero.

    Questo tipo di "imprecisioni volute" ricorrono qua e là in PHP...basta sapere che ci sono e quando ci sono.

    Se si vogliono degli array puri, solo associativi o solo numerici, bisogna farseli da soli creando degli oggetti con le caratteristiche volute

    per favore NIENTE PVT TECNICI da sconosciuti

  6. #16
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    in effetti avevo pensato anche io alla soluzione da te prospettata al punto 2) (soluzione Parser XML in javascript) solo che mi sembrava leggermente più complicata.

    Circa il fatto di demandare il calcolo al client piuttosto che al server credo che dovrebbe essere valutato caso per caso... di certo non avrei fatto calcoli particolarmente pesanti sul server che nn potesse fare anche JS (da questo punto di vista sono anche d'accordo)

    La pillola che ho pubblicato quasi contemporaneamente alla tua (vedi lista pillole in firma) andava proprio in questo senso.

    Avevo anche aperto questo thread al riguardo sul forum scripting ma senza risposte...

    Ciao
    Vuoi aiutare la riforestazione responsabile?

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

  7. #17
    Sul parser JS/XML ti ho risposto di là...purtroppo l'assenza di un supporto crossbrowser completo per il parsing XML è una delle cose che mi ha spinto a tentare di tradurre il formato di serializzazione PHP in Javascript, infatti questa operazione può essere fatta attraverso funzioni Javascript standard
    per favore NIENTE PVT TECNICI da sconosciuti

  8. #18
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    fabio butta un occhio qui:
    http://goog-ajaxslt.sourceforge.net/

    sono fuori di melone... hanno implementato sia xslt che xpath in js, il tutto completamente crossbrowser. Funziona praticamente su tutti i browser in circolazione

    [edit]
    guarda anche questa roba qui:
    http://sarissa.sourceforge.net/doc/

  9. #19
    Ciao Kuarl,

    la seconda la conoscevo e l'ho anche usata, la prima invece non l'avevo mai sentita.
    Sarebbe interessante capire fino a che punto sia crossbrowser, se sono riusciti a supplire in puro Javascript alle limitazioni dei browser che non prevedono un parser XPATH/XSLT hanno fatto un lavoro davvero enorme
    per favore NIENTE PVT TECNICI da sconosciuti

  10. #20
    scusate se posto un argomento OT ma siccome ho cominciato qui e potrebbe interessare a qualcuno, posto il link con la pillola per l' interazione con LoadVars:
    http://forum.html.it/forum/showthrea...postid=8265027

    Perdonami Fabio, magari pero' puo' tornare utile a chi cerchera' in futuro un argomento come questo
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.