簡體   English   中英

如何在javascript函數中使用PHP生成的JSON數組?

[英]How can I use a JSON array generated in PHP in a javascript function?

我正在嘗試使用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);

現在,我想在一個子程序中使用它們來恢復它們,而我嘗試這樣做:

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

此代碼無效。 我該怎么做才能使其正常運行?

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

應該是

res.latitudine; res["latitudine"];

PHP變量在Javascript中不直接可見。 假設您不執行AJAX,而只是嘗試將JSON嵌入腳本中,則可以執行以下操作:

?><script>
var res = JSON.parse('<?php echo $risultato_rows; ?>');
var prova = res.latitudine;
alert (prova);
</script><?php

您的代碼存在一些問題:

  1. 您需要echo$risultato_rows包含的JSON字符串。 那是:

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

  2. 訪問屬性時,將鍵名作為字符串放在方括號中。 要訪問latitudine屬性,您可以使用res.["latitudine"]

  3. var關鍵字在聲明變量時使用,而不是在訪問它們時使用。 使用單獨的語句將值分配給prova並對其發出警報。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM