Ok, ho fatto una prova e sono riuscito a rispondermi da solo.
Prima di tutto lo status del server prima di diventare "4", quindi di inviarci dei dati, li deve ricevere. Ed infatti vengono eseguiti questi comandi, appartenenti alla funzione req:
Codice PHP:
xmlhttp.open("POST", "server.php?action=" + method, true);
xmlhttp.send((data == null ? "" : data.toJSONString()));
questi richiamano le funzioni PHP che modificheranno il nostro carrello ( in questo caso un file di testo ). A questo punto lo status del server diverrà "4", e per vedere a cosa corrisponde la stringa
Codice PHP:
xmlhttp.responseText.parseJSON()
ho provato a modificarla, eliminando il metodo parseJSON() ed inserendola come parametro di alert() ( ho temporaneamente rimosso callback ). Ne è venuta fuori una stringa del genere ( come spiegato nell'articolo JSON ):
[{"product":"Quaderno a righe","quantity":2,"price":2.5},{"product":"Penna Stilografica","quantity":1,"price":1.5}]
Non omettendo il metodo parseJSON() alert ci dirà che l'argomento è un oggetto.
Ho quindi provato a modificare ancora il codice in questa maniera:
Codice PHP:
if(xmlhttp.readyState == 4){
cart = xmlhttp.responseText.parseJSON();
alert(cart[0].product+": "+cart[0].quantity);
}
L'alert visualizzarà cosi' il mio primo prodotto e la sua quantità relativa.
Scusate se ho scritto cosi' tanto, questo mio metodo di ragionamento/distruzione del codice mi sta aiutando a capirci di più e pensavo potesse essere utile anche a qualcun altro in futuro.
Ritornerò a disturbarvi presto.
Grazie