如何将数据从python传递到web2py中的javascript

时间:2015-07-04 03:21:21

标签: javascript python web2py

我在查询中看到一些相关帖子。

龙卷风用于以下链接 How to pass variable from python to javascript

我知道可以使用json完成,但我不清楚如何实现它。 在web2py默认控制器中,我返回一个包含纬度和经度的字典。

def index():
    lat_long_list=[]
    info1 = {'lat':'1.0032','long':'2.00003','name':'Akash'}
    info2 = {'lat':'1.2312','long':'-1.0034','name':'Kalyan'}
    lat_long_list.append(info1)
    lat_long_list.append(info2)
    return dict(lat_long_list=lat_long_list)

在java脚本中,我想遍历字典列表并标记谷歌地图上的点。

我不能说

<script>
 {{ for lat_long_rec in lat_long_list :}}
 var name = {{=lat_long_rec['name']}}
 {{ pass }}
</script>

这失败了。处理这个问题的一个替代方法是将列表写入xml并从javascript中读取文件,但我不希望以这种方式实现它,因为写入文件是不高效的。让我知道这可以达到最佳效果。

1 个答案:

答案 0 :(得分:4)

将Python列表转换为JSON并将其传递给视图以插入Javascript代码:

    from gluon.serializers import json
    return dict(lat_long_list=json(lat_long_list))

在视图中:

<script>
    ...
    var latLongList = {{=XML(lat_long_list)}}
    ...
</script>