PHP JSON nesne değeri

2 Cevap php

PHP JSON kullanıyorum, ve şimdi ben JavaScript'den erişmek gerekir. Nasıl JavaScript JSON nesnesi geçirmek?

<?php
    $array = array("a"=>"Caucho", "b"=>"Resin", "c"=>"Quercus");
    $json = json_encode($array);
>

My.js sahip olduğu:

showAll(){
    alert("Show All Json Objects");
    // How do I get the JSON value here?
}

Ben bunu nasıl yapabilirim?

2 Cevap

Eğer JSON indirmek için bir yöntem olarak Ajax kullandığınızı varsayarsak, json_encode sonucunu yankı yapardı:

<?php
    $array = array("a"=>"Caucho", "b"=>"Resin", "c"=>"Quercus");

    echo json_encode($array);
?>

Ve sonra geri arama olay içinde, yanıtı eval ediyorum:

var obj = eval('(' + req.ResponseText + ')');
for(var i in obj) {
    alert(i + ': ' + obj[i]);
}

Eğer adla bir XMLHttpRequest nesne var olduğunu varsayarsak req.

AJAX ile JSON veri isteği olabilir ya da bir JavaScript değişken olarak JavaScript PHP verileri geçebileceği:

$array = array("a"=>"Caucho", "b"=>"Resin", "c"=>"Quercus");
$json = json_encode($array);

echo '<script type="text/javascript">';
echo 'var myJson = "' . $json . '";';
echo '</script>';

edit: aksi takdirde sadece bir dize değil bir obje olacak, json dize eval var ...

Tabii Kapalı akılda PHP / HTML / JavaScript karıştırma hakkında tüm kuralları tutarak ...