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に含まれる JSON 文字列が必要です$risultato_rows。あれは:

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

  2. プロパティにアクセスするときは、キー名を文字列として角かっこで囲みます。latitudineプロパティにアクセスするには、次を使用しますres.["latitudine"]

  3. var キーワードは、変数にアクセスするときではなく、変数を宣言するときに使用されます。個別のステートメントを使用して、値を割り当ててprova警告します。
于 2012-11-13T18:42:32.430 に答える