Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 59
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500

    Uso di variabili condivise tra php e ajax

    Salve,
    se io utilizzo classi e oggetti in php, quando faccio la chiamata ajax ad un'altra pagina php, come faccio a fargli usare le variabili/oggetti che ho nel file chiamante?

  2. #2
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Chiedi ai moderatori di spostarti nel forum PHP. È una questione che non riguarda javascript.

  3. #3
    Devi fare un echo di codice javascript nella pagina da PHP che poi potrai usare con javascript e con le richieste ajax.

    ad es, se scrivessi questo nel file php

    codice:
    $mia_variabile_php = "ciao ciao";
    echo "<script type=text/javascript>var prova = \"" . $mia_variabile_php . "\";</script>
    Poi potrai usare quella variabile prova da javascript.
    In questo modo puoi anche creare oggetti javascript se programmi ad oggetti anche con javascript, ecc...
    lolide
    Java Programmer

    Informati

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    No, la questione è: Se io ho un oggetto istanziato in una pagina php(chiamiamolo pagina1.php), quando faccio la richiesta AJAX ad un'altra pagina php(pagina2.php), come posso fargli vedere l'oggetto istanziato nella pagina1.php?

  5. #5
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Originariamente inviato da carlomarx
    Chiedi ai moderatori di spostarti nel forum PHP. È una questione che non riguarda javascript.

  6. #6
    Originariamente inviato da Vicar
    No, la questione è: Se io ho un oggetto istanziato in una pagina php(chiamiamolo pagina1.php), quando faccio la richiesta AJAX ad un'altra pagina php(pagina2.php), come posso fargli vedere l'oggetto istanziato nella pagina1.php?
    Non puoi trasferire degli oggetti php da una pagina ad un'altra tramite javascript...
    O la trasformi in un oggetto javascript (trasformandolo in stringa), la stampi nell'html e poi nella richiesta ajax la invii alla pagina2 e da lì ricostruisci l'oggetto.

    oppure l'unico modo per trasferire un oggetto in php da una pagina php ad un'altra è memorizzarla in sessione ($_SESSION)
    lolide
    Java Programmer

    Informati

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    Esiste un metodo pertrasformare un oggetto in stringa?

    Come li contatto i moderatori?

  8. #8
    Originariamente inviato da Vicar
    Esiste un metodo pertrasformare un oggetto in stringa?

    Come li contatto i moderatori?
    E come vuoi trasformarli?
    Devi stabilire una convenzione e fare tipo un metodo toString con il quale lo converti e magari un costruttore con una variabile stringa dal quale lo ricostruisci...

    es.

    codice:
    class Classe {
        private $id;
        private $nome;
    
        public __construct($stringa) {
            // qui costruisci l'oggetto dalla stringa letta tramite javascript
        }
    
        public toString() {
            return $id . ";" . $nome;
        }
    }
    fai echo $oggetto->toString() per stampare quella stringa sull'html della pagina ed usarla con javascript, poi quando rileggi quella stringa da pagina2.php dopo la richiesta AJAX, chiami $oggettoLetto = new Classe($stringaAjax); e verra' ricomposto l'oggetto..
    lolide
    Java Programmer

    Informati

  9. #9
    Originariamente inviato da Vicar
    Esiste un metodo pertrasformare un oggetto in stringa?
    sì, puoi serializzarli
    http://php.net/manual/en/function.serialize.php

  10. #10
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858


    Sempre a complicarsi la vita

    foo.php
    Codice PHP:
    $properties = array(
        
    'propertyOne' => 'valueOne',
        
    'propertyTwo' => 'valueTwo',
        
    'propertyThree' => 'valueThree',
    );

    echo 
    json_encode(array('properties' => $properties)); 
    bar.php
    Codice PHP:
    $properties = isset($_POST['properties']) ? json_decode($_POST['properties']) : null;
    // todo: your stuff 
    ajax page
    Codice PHP:
                $.ajax({
                    
    url: [url to foo.php],
                    
    type"GET",
                    
    success: function(response) {
                        $.
    ajax(
                            
    url: [url to bar.php],
                            
    type"POST"
                            
    dataresponse,
                            
    dataType"json",
                            
    success: function(response) {
                                
    // todo: your stuff
                            
    },
                            
    error: function(objResponse) {
                                
    console.log('fail');
                            },
                            
    complete: function() {
                                
    console.log('done');
                            }
                        )
                    },
                    
    error: function(objResponse) {
                        
    console.log('fail');
                    },
                    
    complete: function() {
                        
    console.log('done');
                    }
                }); 
    Non l'ho testato quindi potrebbe anche non funzionare è giusto per darti l'idea.
    Tieni presente che la chiamata ajax innestata potrebbe causare problemi data la natura asincrona della chiamata stessa. Meglio adottare altre tecniche, ma non voglio entrare nel merito ora.

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