将数据从WordPress传递到JSON中的Java脚本

时间:2012-09-05 作者:Iladarsda

目前正在使用此简化代码将数据从WP传递到JS。

function add_map_data() {

        $objName = "MapData";
        $array = array(
            "MapViewLatitude" => "51.505",
            "MapViewLongitude" => "-0.09",

        );

        wp_enqueue_script( \'mapdata\', get_bloginfo(\'template_url\').\'/custom/map.js\', null, null, false );
        wp_localize_script( \'mapdata\', $objName, $array );
}
add_action( \'wp_enqueue_scripts\', \'add_map_data\');
唯一的问题是这是传递对象
How can I pass data in JSON format?

非常感谢您的任何建议。

1 个回复
SO网友:Bainternet

尝试将阵列包装到json_encode():

function add_map_data() {

        $objName = "MapData";
        $array = array(
            "MapViewLatitude" => "51.505",
            "MapViewLongitude" => "-0.09",

        );

        wp_enqueue_script( \'mapdata\', get_bloginfo(\'template_url\').\'/custom/map.js\', null, null, false );
        wp_localize_script( \'mapdata\', $objName, array(\'my_arr\' =>json_encode($array)));
}
add_action( \'wp_enqueue_scripts\', \'add_map_data\');
下一步是将JSON字符串解析回JavaScript中的JSON对象,以便:

//first escape the string then parse this string and convert it into a JSON object
var MapDataJSON = jQuery.parseJSON(MapData.my_arr.replace(/"/g, \'"\'));

结束

相关推荐

Javascript stopped working

由于某种原因,我在wordpress安装中设置的脚本昨天下午停止工作。我一直在编辑东西,但我不确定我能做些什么导致它停止。是否有任何方法可以错误检查它为什么不工作,或者有什么常见的原因可能不工作?网站位于http://www.delsilencio.net/staging/wordpress/