0

我正在尝试在 javascript 函数中使用 php 函数中生成的 JSON 数组。我的代码是这样的:

$query = "SELECT lat, lng FROM Eventi";
$result = mysql_query($query) or die(mysql_error() . "<br/><br/>" . $query);
if (mysql_affected_rows() != 0) {
     while($r = mysql_fetch_array($result)) {
        $rows =  array(
           "latitudine" => $r['lat'],
           "longitudine" => $r['lng'],
       );}
       $risultato_rows = json_encode($rows);

现在我想在一个子例程中恢复它们并使用 javascript 来使用它们,我尝试了:

var res = JSON.parse($risultato_rows);
    alert var prova = res.[latitudine];

此代码不起作用;我该怎么做才能使其正常运行?

4

3 回答 3

2
res.[latitudine];  // You seem to mix up both the
                   // dot and bracket notation..

应该是

res.latitudine; 或者 res["latitudine"];

于 2012-11-13T18:35:05.547 回答
1

PHP 变量在 Javascript 中不直接可见。假设您不使用 AJAX,而只是尝试在脚本中嵌入 JSON,您可能会这样做:

?><script>
var res = JSON.parse('<?php echo $risultato_rows; ?>');
var prova = res.latitudine;
alert (prova);
</script><?php
于 2012-11-13T18:36:59.137 回答
0

您的代码存在一些问题:

  1. 您需要echo包含在$risultato_rows. 那是:

    var res = JSON.parse('<?= $risultato_rows; ?>');

  2. 访问属性时,将键名作为字符串放在括号中。要访问该latitudine属性,您将使用res.["latitudine"]

  3. var 关键字在声明变量时使用,而不是在访问它们时使用。使用单独的语句来分配值prova并警告它。
于 2012-11-13T18:42:32.430 回答