0

得到了一个很好的例子。我使用了这个谷歌地图示例,它正在使用在 javascript 中创建的本地数组:http: //jsfiddle.net/jFMQ5/2/

现在我只需要更改它以从 php.ini 获取数组。

步骤是

  • 在php中创建数组
  • 使用 json_encode 将数组转换为 json
  • 用javascript抓住它

问题...如何迭代 json 而不是数组。或者如何从 json 创建一个 javascript 数组

在我的javascript中我得到了这个(也充满了字符集错误,但我想这是另一个问题)

var arrAddress = ["Sir vej 3 7500 Holstebro","Ivar Lundgaardsvej 8 7500 Holstebro","H\u00f8jtoftvej 6 7500 Holstebro","Svalev\u00e6nget 22 7500 Holstebro","Ringk\u00f8bingvej 21 7500 Holstebro","Elkj\u00e6rvej 90 7500 Holstebro","Hovedgaden 2 7500 Holstebro","Skolegade 32 7500 Holstebro","Fuglsangvej 2 7500 Holstebro","Sl\u00e5envej 150 7500 Holstebro","Burvej 2A Idom 7500 Holstebro"];

在 jsfiddle 示例中,它期望这样的数组:

$arrAddress[0] = "Sir vej 3 7500 Holstebro";
$arrAddress[1] = "Ivar Lundgaardsvej 8 7500 Holstebro"
etc. etc.

如何使 jsfiddle 链接使用这个 json 字符串而不是本地定义的数组?

更新 PHP 正在创建这样的数组:

// in PHP //
While(...) {
    $arrAddress[] = $row['address'].' '.$row['zip'].' '.$row['city'];
}
// after while
$arrAddress = json_encode($arrAddress);
// end php //

// in javascript //
var addAddress = {$arrAddress}
4

1 回答 1

0

您确定要在 javascript 中返回 JSON 对象吗?尝试执行 aconsole.log(addAddress)并查看它返回的是字符串还是对象。这还将向您显示“数组”索引(无论如何在 Chrome 中)。

也尝试解析 json 字符串

var addAddress = $.parseJSON({$arrAddress});
于 2012-05-30T20:23:49.163 回答