Ajax isteği JSON Array çözme

0 Cevap php

Sonunda başka bir sayfadan gönderilen ŞEY almak için Ajax kullanarak başardı! Ne yapmaya çalışıyorum bir JavaScript dosyası için bir PHP dosyası bir dizi geçmek ve Javascript dosyası Bu alıyor this.responseText:

<html>
<head>

    <script type="text/javascript">
        var jsonArray = ["chickens","horses","cows","werewolves","zombies","vampires","phantoms","U.S. Congressmen","performance artists","pieces of fencepost","barnhouses","robots","cyborgs"]

    </script>
</head>
</html>

I eval() çalıştıran çalıştı ve alert sonucu ing, ancak hiçbir sonuç görüntülenir. Nasıl başarılı this.responseText adlı dizi ayıklamak?

Edit İşte benim fonksiyonu şimdiye kadar geçerli:

/*
 * Function: selectVictim
 * Called from function laserOn()
 *
 * Selects a random victim from a list of victims
 *
 * @return String: victim
 */
function selectVictim()
{
var params = "url=queenofsheep.com/Sheep/victims.php";
var request = new ajaxRequest();

request.open("POST", "victims.php", true);
request.setRequestHeader("Content-Type",
                             "application/x-www-form-urlencoded");
request.setRequestHeader("Content-Length", params.length);
request.setRequestHeader("Connection", "close");

request.onreadystatechange = function ()
{
    if (this.readyState == 4)
    {
        if (this.status == 200)
        {
            if (this.responseText != null )
            {
                var vicArray = eval('('+this.responseText+')');
                var numVic = Math.floor(Math.random() * (vicArray - 1));
                alert(vicArray);
            }
            else alert("Ajax error: No data received");
        }
        else alert("Ajax Error: " + this.statusText);
    }
}

request.send(params);
}    

Aşağıdaki gibi Second Edit (PHP) dizi içeren dosyadır:

<html>
<head>
<?php

$victims = array(

    // Animals
    "chickens",
    "horses",
    "cows",

    // Supernatural
    "werewolves",
    "zombies",
    "vampires",
    "phantoms",

    // Human
    "U.S. Congressmen",
    "performance artists",

    // Inanimate, non-mechanical
    "pieces of fencepost",
    "barnhouses",

    // Mechanical
    "robots",
    "cyborgs"

);

?>

    <script type="text/javascript">
        var jsonArray = <?php echo json_encode($victims); ?>


    </script>
</head>
</html>

0 Cevap