Hallo,
mich beschäftigt seit geraumer Zeit ein Ajax-Problem.
Ich bekomme über eine Funktion einen String mit allen sich im Warenkorb befindlichen Artikeln, beispielsweise:
A Mirror's Diary|CD|15|1#Rivers of Heart|CD|12|1
In diesem Beispiel befinden sich ein Exemplar (CD) des Albums "A Mirror's Diary" zum Preis von 15,- EURO und ein Exemplar (CD) des Albums "Rivers of Heart" zum Preis von 12,- EURO im Warenkorb.
Nun wandle ich den "Warenkorb"-String über JavaScript nach Hexadezimal um:
function stringZuHex (string)
{
if (anfrage !== false)
{
alert(string);
anfrage.open ("GET", "../php/stringZuHexGet.php?string=" + string, true);
anfrage.onreadystatechange = fortfahren;
anfrage.send (null)
}
}
Das Ajax-Objekt ist tadellos initialisiert und der alert-Befehl liefert mir an dieser Stelle auch den String mit den zwei Alben.
Nun wird der an dieser Stelle noch korrekte String an die PHP-Datei "stringZuHexGet.php" übergeben:
$string = isset ($_GET["string"]) ? $_GET["string"] : false;
if ($string !== false)
{
echo array_shift (unpack ('H*', $string));
}
else
{
echo -1;
}
Lasse ich mir nun unmittelbar nach dem Auslesen der Variable $string dessen Wert ausgeben, dann bekomme ich nur das erste Album geliefert:
A Mirror's Diary|CD|15|1
Warum schneidet er mir das zweite Album ab?
Vielen Dank für eure Hilfe.
Gruß
Enrico