utilizzare variabile inviata tramite json

  • Creatore Discussione Creatore Discussione amhal
  • Data di inizio Data di inizio

amhal

Utente Attivo
17 Feb 2011
89
1
8
Ciao a tutti, mi sto avvicinando a json e non ho capito come posso inviare dalla pagina php non i valori dell'array codificata da json_encode, ma l'array stessa, faccio un esempio per essere più chiaro

chiamata Ajax dalla pagina index.php
HTML:
<script type="text/javascript">

$(document).ready(function() {
  $("#bottone").click(function(){
    var nome     = $("#nome").val();
    var cognome = $("#cognome").val();
    $.ajax({
      type: "POST",
      url: "dati.php",
      data: "nome=" + nome + "&cognome=" + cognome,
      dataType: "html",
        success: function(data){
                data = jQuery.parseJSON(data);
               $('#risultato').html("Il nome è: "+data.prova+"<br> Il cognome è: "+data.valore);
        }
    });
  });
});

</script>

pagina php
PHP:
<?php

$nome = 'lele';
$cognome ='marucci';
$array = array(    'prova' => $nome,    'valore' => $cognome);

 echo json_encode($array);
?>

quando eseguo questo codice io vedo nel <div id="risultato"></div> la stampa del nome e del cognome,
e se invece volessi l'array contenete il nome e il cognome? come faccio

grazie a tutti in anticipo
 
Ciao, con paresJson trasformi la stringa data in un json, potresti usare dataType: "JSON" ed evitare la funzione parseJson.
Il json è già un contenitore di dati come l'array.
 
Ciao e grazie per aver risposto, non ho capito però cosa scrivere e dove..:(
 
colpa mia, sono stato vago perchè non ho capito la domanda : hai già un array ..
 
esatto e vorrei poter riutilizzare i valori invece di vedere a video la stampa del contenuto :)
 
puoi riutilizzarli in qualsiasi modo ne hai accesso mettendo il punto tra l'array e il valore ( data.prova ).
Cosa vuoi fare in particolare ?
 
tramite la chiamata Ajax controllo se esistono il nome e il cognome nel db, se l'esito è positivo, passo tramite json i dati alla pagina
e li riutilizzo in php dentro a uno switch.
per questo chiedevo come fare a utilizzare i dati dentro l'array e non avere solo la stampa del contenuto :)
Da quello che ho capito json è comodissimo per riavere indietro i valori creati/estratti in php senza refresh della pagina
 
non puoi far rieseguire codice php dalla pagina chiamante, ormai è stata caricata. Puoi utilizzare la risposta con javascript per aggiornare i dati della pagina. Tutto il codice lato server lo devi fare eseguire dalla pagina che richiami con ajax. Eventualmente puoi utilizzare i dati ricevuti per richiamare un altra pagina php ma non avrebbe molto senso.
 
ok quindi una volta che i dati di php vengono rispediti alla pagina chiamante tramite json, possono solo essere letti da javascript senza possibilità di riutilizzarli con php?
 
  • Like
Reactions: criric

Discussioni simili