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

Pra*_*ala 5 javascript python web2py

我看到一些与我的查询相关的帖子。

Tornado 在下面的链接中使用 如何将变量从 python 传递到 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)
Run Code Online (Sandbox Code Playgroud)

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

我不能说

<script>
 {{ for lat_long_rec in lat_long_list :}}
 var name = {{=lat_long_rec['name']}}
 {{ pass }}
</script>
Run Code Online (Sandbox Code Playgroud)

这失败了。处理此问题的另一种方法是将列表写入 xml 并从 javascript 读取文件,但我不想以这种方式实现它,因为写入文件的性能不高。让我知道如何最好地实现这一目标。

Ant*_*ony 4

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

    from gluon.serializers import json
    return dict(lat_long_list=json(lat_long_list))
Run Code Online (Sandbox Code Playgroud)

视图中:

<script>
    ...
    var latLongList = {{=XML(lat_long_list)}}
    ...
</script>
Run Code Online (Sandbox Code Playgroud)